Spring boot + Zookeeper + Dubbo学习笔记

Spring boot + Zookeeper + Dubbo学习笔记

 

  1. Maven服务地址   https://mvnrepository.com
  2. 安装zookeeper时需要在conf文件夹下复制zoo_sample.cfg改名为zoo.cfg
  3. 将dubbo-admin项目打包   mvn clean package -Dmaven.test.skip=true打包时忽略测试
  4. 新建服务项目和消费项目 在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

Spring boot + Zookeeper + Dubbo学习笔记Spring boot + Zookeeper + Dubbo学习笔记

2、在启动多个服务项目时会出现Failed to bind NettyServer on /169.254.222.71:20880 端口冲突问题!

 解决方法:在每个服务项目都设置不同端口号

dubbo.protocol.name=dubbo
dubbo.protocol.port=20881

 

上一篇:Soul网关插件之Sofa


下一篇:基于Zookeeper+Curator实现分布式锁