Spring boot + Zookeeper + Dubbo学习笔记
作者:互联网
Spring boot + Zookeeper + Dubbo学习笔记
- Maven服务地址 https://mvnrepository.com
- 安装zookeeper时需要在conf文件夹下复制zoo_sample.cfg改名为zoo.cfg
- 将dubbo-admin项目打包 mvn clean package -Dmaven.test.skip=true打包时忽略测试
- 新建服务项目和消费项目 在pom中引入依赖,服务与消费项目依赖相同
这里需要注意 surator-framework的版本要与dubbo-admin中的版本一致,详情查看dubbo-admin的pom文件
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.6.2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
5、配置application.properties(不同端口、相同的注册地址、服务名称),服务项目需多配置一个要被扫描的包路径。
server.port=9000
#服务名字
dubbo.application.name=provider-server
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
#那些服务要被注册
dubbo.scan.base-packages=com.yog.service
6、服务项目中的接口实现类需添加apache.dubbo中的@Service和@Component注释
@Service //可以被扫描到,在项目启动就注册到注册中心
@Component //使用了Dubbo后尽量不要使用spring的service注解
7、消费项目中的接口类 一定要与 服务项目中的接口类的包路径及接口名称一致。在调用接口类时添加@Reference
@Reference
TicketService ticketService;
单台服务器集群模式:单IP多节点(伪集群)
1、首先复制出多个zookeeper启动服务,在dataDir下创建myid文件填入相对序列号,依次修改zoo.cfg中的dataDir
2、在启动多个服务项目时会出现Failed to bind NettyServer on /169.254.222.71:20880 端口冲突问题!
解决方法:在每个服务项目都设置不同端口号
dubbo.protocol.name=dubbo
dubbo.protocol.port=20881
标签:Dubbo,zookeeper,dubbo,Spring,Zookeeper,curator,apache,org,服务项目 来源: https://blog.csdn.net/github_34367377/article/details/112214344