了解上一篇《SpringBoot+dubbo+zookeeper 集成入门——dubbo-admin和注册中心》
3:新建一个SpringBoot项目,项目名称是ZookeeperProvider
pom.xml引用依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48</version>
</dependency>
<!-- 注册中心的jar -->
<dependency>
<groupId>com.wtmlzt</groupId>
<artifactId>zookeeperInterface</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
property配置信息
server.port = 80801
## Dubbo 服务提供者配置
dubbo.application.name=dubbo-provider
dubbo.registry.address=zookeeper://192.168.1.13:2181
dubbo.registry.protocol.name=dubbo
dubbo.registry.protocol.port=20880
dubbo.scan=com.wtmlzt.zookeeperProvider.service
OrderService接口类的实现
注意@Service不是spring的注解,而是dubbo的直接
import com.alibaba.dubbo.config.annotation.Service;
项目编译运行,并查看dubbo-admin是否有服务生成
其中一个是OrderService,另一个是UserService
至此,服务提供方(provider)已生成成功
4:重新创建一个SpringBoot项目,项目名称是ZookeeperConsumer
pom.xml配置(和ZookeeperProvider一样)
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48</version>
</dependency>
<!-- 注册中心的jar -->
<dependency>
<groupId>com.wtmlzt</groupId>
<artifactId>zookeeperInterface</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
property配置
server.port = 8082
##dubbo 服务消费者的基础配置
dubbo.application.name=dubbo-consumer
dubbo.registry.address=zookeeper://192.168.1.13:2181
dubbo.registry.protocol.name=dubbo
dubbo.registry.protocol.port=20880
dubbo.scan=com.wtmlzt.zookeeperProvider.service
创建TestController测试请求类
注意:@Reference(version = "1.0.0")引用dubbo包的依赖
import com.alibaba.dubbo.config.annotation.Reference
并且版本号必须和服务提供方(ZookeeperProvider)的保持一致。当然版本号也可以不用写!
运行项目,检查dubbo-admin是否有服务消费方生成
5:使用postman模拟请求访问zookeeperConsume的请求
查看ZookeeperConsumer日志
查看ZookeeperProvider的日志输入
总结:至此Springboot+dubbo+zookeeper的简单demo已经搭建完毕!当然在真实场景中SDZ的使用绝不仅仅是如此的简单,还有涉及到负载均衡,请求容错等等分布式操作。在以后的日子,也会继续学习SDZ的使用和原理,学无止尽嘛!!!