springboot+dubbo+zoo单机/集群(非详细)

 

单机版--

1.下载zookeeper,解压

2.进入解压文件下的conf下

cp zoo_sample.cfg  zoo.cfg
vi zoo.cfg

编译:数据和日志存储位置(如果用默认位置,注意权限问题)

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/services/zookeeper/zookeeper1/data   数据存储位置
dataLogDir=/usr/local/services/zookeeper/zookeeper1/logs  日志
clientPort=2181

命令:

./zkServer.sh start 启动
./zkServer.sh stop 停
./zkServer.sh restart 重启
./zkServer.sh status 状态

admin管理界面:

 下载地址:https://github.com/apache/incubator-dubbo ,如果找不到dubbo-admin,可以修改Branch来查找。

文件下下来,进入 dubbo-admin\src\main\webapp\WEB-INF下修改dubbo.properties.

添加(一般是自带的,直接修改即可)

dubbo.registry.address=zookeeper://192.168.12.122:2181 把IP地址改成自己的
dubbo.admin.root.password=root  账号/密码 都是 root
dubbo.admin.guest.password=guest  账号/密码 都是 guest

然后在/dubbo-admin下 打开PowerShell命令行模式 打包:

   一般用此命令:       mvn package -Dmaven.skip.test=true 
win10下用此命令:       mvn clean install package '-Dmaven.test.skip=true'   

整个tomcat,将war 包扔到webapps下,运行tomcat,访问管理界面地址:http://ip:端口/dubbo-admin-2.6.0

 

集群---(3个)

    解压文件copy两份:

cp -r zookeeper-3.4.13 自定名

   1.编译zoo.cfg区别:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/services/zookeeper/zookeeper1/data  存储在各自zoo下的data
dataLogDir=/usr/local/services/zookeeper/zookeeper1/logs   存储在各自zoo下的logs
clientPort=2181  根据需求修改
添加(本机搭建的是伪集群,具体改为个zoo所在ip)
server.1=192.168.12.122:2887:3887
server.2=192.168.12.122:2888:3888
server.3=192.168.12.122:2889:3889
解释:
server.A=B:C:D:
A是一个数字,表示这个是第几号服务器,B是这个服务器的ip地址
C第一个端口用来集群成员的信息交换,表示的是这个服务器与集群中的Leader服务器交换信息的端口
D是在leader挂掉时专门用来进行选举leader所用

2.在各自zoo下data文件夹下配置一个文件myid,这个文件在dataDir目录下,这个文件里面就有一个数据就是A的值,在上面配置文件中zoo.cfg中配置的dataDir路径中创建myid文件

echo "1" > myid    其中的数字看自己给那个zoo分配

 

springboot2.0测试(yml)--

 提供方:

1.pom.xml下添加

  
            com.alibaba.spring.boot
            dubbo-spring-boot-starter
            2.0.0
        
        
            com.github.sgroschupf
            zkclient
            0.1
        

2.接口

public interface DubboDemo {

    String getMessage(String message);
}

3.实现

@Service (注意:此注解是dubbo的Service,不是spring的)
@Component
public class DubboDemoImpl implements  DubboDemo {
    @Override
    public String getMessage(String message) {
        return message;
    }
}

4.yml添加

  dubbo:
    server: true
    application:
      name: provider
    registry:
      address: zookeeper://192.168.12.122:2181
 #    集群版只修改address :zookeeper://192.168.12.122:2181?
  #                                  backup=192.168.12.122:2182,192.168.12.122:2183
    protocol:
      name: dubbo
      port: 20880
    scan: com.bootdo.demo.dubbo.service   

5.启动app上添加注解:

@EnableDubboConfiguration

消费方:依赖一样,启动app注释一样,接口一样(接口必须同包同名:可以抽出来做消费方/提供方公用的api)

yml修改为:

spring:
  dubbo:
    application:
      name: consumer
    registry:
      address: zookeeper://192.168.12.122:2181
    protocol:
      name: dubbo

调用:

@Component
public class DuDemo {

    @Reference
    private DubboDemo dubboDemo;

   public String getMess(String message){
         return dubboDemo.getMessage(message);
    }

 

你可能感兴趣的:(搭建)