Dubbo是一个服务治理框架,对分布式服务的管理和治理、监控有较好的实现。
本案举例说明Dubbo与Spring的配合使用:
1. Maven引入dubbo的配置
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> </dependency>
2. 增加Spring的Dubbo provider配置文件 spring-dubbo-provider.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd
">
<!-- 提供方应用名称信息,这个相当于起一个名字,在dubbo管理页面比较清晰是哪个应用暴露出来的 -->
<dubbo:application name="user_provider"/>
<!-- 使用zookeeper注册中心注册服务 -->
<dubbo:registry address="${zookeeper.registry}"/>
<dubbo:protocol port="${dubbo.provider.port}"/>
<dubbo:monitor protocol="registry"/>
<!-- 暴露的服务接口 -->
<dubbo:service interface="com.test.api.UserService"
ref="userService" timeout="5000" retries="2" />
<bean id="userService" class="com.test.service.UserServiceImpl" />
</beans>
3. 接口和实现类代码:
UserService接口:
public interface UserService { public String hello(String name); }
UserServiceImpl类:
public interface UserServiceImpl implement UserService { public String hello(String name){ return "hello"+name; } }
4. 消费方的配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --> <dubbo:application name="user_consumer" /> <dubbo:registry address="${zookeeper.registry}"/> <dubbo:monitor protocol="registry"/> <!-- 注册中心配置 --> <dubbo:reference id="userPointsFacade" interface="com.dmall.points.api.UserPointsFacade" timeout="10000" check="false" /> </beans>
5. 测试类
public class UserPonitsTest { public static void main(String[] args) throws InterruptedException{ start(); } public void testApp() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"spring/dubbo-consumer.xml"}); context.start(); try { System.in.read(); // 为保证服务一直开着,利用输入流的阻塞来模拟 }catch (Exception e){ e.printStackTrace(); } } }
6. 使用dubbo-admin包可以对dubbo的服务进行管理和监控。
相关推荐
在本项目中,mybatis与Mysql数据库配合,实现了对数据库的操作,包括增删查改等,为业务逻辑提供数据支持。 项目结构中,"DubboConsumer"代表服务消费者端,它负责发起对服务提供者的请求;而"DubboProvider"则是...
虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和SpringCloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差...
Druid与MyBatis配合使用,可以优化数据库连接的管理和复用,减少数据库资源的消耗,提升系统性能。 代码生成工具Generator,例如MyBatis Generator,可以在数据库表结构基础上自动生成Java实体类、Mapper接口及XML...
通过JDBC(Java Database Connectivity)接口,Spring Boot可以方便地与MySQL进行数据交互。 4. **Dubbo**: Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理框架,主要用于实现微服务间的远程方法调用(RPC)。...
9. **前端界面开发**:可以使用Vue、React等前端框架,配合Ajax技术与后端API交互,构建用户界面。 10. **测试与部署**:进行单元测试、集成测试,确保系统功能完整无误,然后部署到服务器上。 整合上述技术的后台...
当Spring和Dubbo结合使用时,Spring可以作为应用的容器来管理Dubbo服务的生命周期,而Dubbo则负责服务的创建、发布和调用。Spring通过其强大的配置能力,可以让开发者方便地在应用中集成Dubbo服务,比如通过`<dubbo:...
eureka注册和治理controller层的http服务,供前端组合接口数据,gateway负载均衡,zookeeper注册后端服务层,dubbo做底层服务治理,gateway->...soa为controller,server为底层微服务,springCloud+dubbo的配合使用
【基于JavaConfig的Spring Data Jpa + Dubbo + Spring Mvc 搭建】 在现代企业级应用开发中,Spring框架以其强大的功能和灵活性被广泛采用。本知识点将深入讲解如何利用JavaConfig配置方式,结合Spring Data Jpa、...
【服务注册与发现】Dubbo通常与Zookeeper、Eureka等服务注册中心配合使用。服务提供者启动时会将自己的元数据注册到注册中心,服务消费者则通过注册中心获取服务提供者的地址信息。这样实现了服务的动态发现和负载...
在Java后端系统中,MySQL通常作为数据存储的主要选择,与MyBatis或其他ORM框架配合使用。 5. **Dubbo**:Dubbo是阿里巴巴开源的分布式服务框架,它专注于服务的治理,包括服务的注册、发现、调用、负载均衡和监控等...
2. **Spring整合Dubbo**:本项目使用Spring作为依赖注入容器,通过Spring的XML配置文件管理Dubbo的相关配置。`@Reference`注解用于在服务消费端注入服务提供者,使得调用远程服务变得简单。 3. **Maven构建工具**:...
7. **监控**:Dubbo提供了Admin Console进行服务监控,而Spring Cloud Sleuth可以与Zipkin或ELK(Elasticsearch, Logstash, Kibana)堆栈配合,提供分布式追踪。 8. **测试与部署**:完成上述配置后,进行单元测试...
二、Dubbo配置与使用 1. 配置服务提供者:在服务提供者的Spring配置文件中,声明服务接口、实现类以及暴露的服务版本、端口等信息。 2. 配置服务消费者:在服务消费者的Spring配置文件中,声明要消费的服务接口、...
在Web应用中,Freemarker模板与SpringMVC配合,根据后台传递的数据动态生成视图,提高了视图层的灵活性和可维护性。 综上所述,这个项目展示了如何将这些主流技术集成在一起,构建一个完整的分布式服务系统。它涵盖...
Dubbo需要与Zookeeper或其它注册中心配合使用,因此也需安装并运行Zookeeper。 2. **创建SpringBoot项目**: 使用Spring Initializr或者IDEA等工具创建一个新的SpringBoot项目,选择必要的依赖如Spring Web。 3. ...
本篇文章将深入探讨Dubbo的核心概念、工作原理以及如何在实际项目中运用,同时也会提及与Zookeeper、Spring的集成以及数据库的使用。 一、Dubbo概述 Dubbo的核心目标是解耦服务提供者(Provider)和服务消费者...
4. 配合SpringCloud的Eureka或Consul作为服务注册与发现,实现更灵活的服务治理。 四、基本知识点总结 1. SpringBoot的起步依赖和自动配置原理。 2. Dubbo的配置项,如application、registry、protocol、provider...
《Spring Boot与Dubbo整合实现登录服务实例解析》 在当今快速发展的互联网行业中,Spring Boot和Dubbo作为两个重要的开源框架,被广泛应用于微服务架构中。本篇将深入探讨如何利用Spring Boot与Dubbo进行整合,实现...