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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。