zookeeper+dubbo+springboot实现高可用服务治理(集群版)

一.搭建zookeeper集群(必须大于3台服务器,小于三台不能启动)

1.下载安装zookeeper
   wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz    #下载地址
2. 修改配置文件
   /home/dubbo/zoo/zookeeper-3.4.13  # 进入zookeeper目录
   mkdir data   #新建data目录,用于存放集群文件myid
   cd data  #进入该目录
   touch myid  #新建集群文件,当前的机器为1
   echo 1 > myid  #写入配置文件,1代表第一台服务器,其他两台分别为 2, 3
   mv zoo_sample.cfg  zoo.cfg   #移动配置文件
   vi /home/dubbo/zoo/zookeeper-3.4.13/conf  zoo.cfg  #进入配置文件
   server.1=172.25.62.101:2888:3888 (主机名,心跳端口,数据端口) #第一台zookeeper
   server.2=172.25.62.102:2888:3888    #第二台zookeeper
   server.3=172.25.62.100:2888:3888    #第三台zookeeper
   vi /etc/profile    #进入系统配置文件
   export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin  #
   export ZOOKEEPER_HOME=/home/dubbo/zoo/zookeeper-3.4.13   #zookeeper安装目录
   cd  /home/dubbo/zoo/zookeeper-3.4.13/bin  #进入zookeeper启动目录
   sh zkServer.sh start #启动第一台zookeeper

配置文件如下,当前三台服务地址为 172.25.62.100, 172.25.62.101, 172.25.62.102
zookeeper+dubbo+springboot实现高可用服务治理(集群版)_第1张图片
到这,第一台zookeeper服务器已经启动,此时zookeeper集群还不能用,必须三台zookeeper启动之后才行。
其他两台zookeeper按照以上步骤安装即可,只需要改变myid 为2或者3

启动另外两台服务器,查看三台服务器状态如下图,可以看到集群模式为一主两从
zookeeper+dubbo+springboot实现高可用服务治理(集群版)_第2张图片
到这,zookeeper集群已经安装好。

二.将dubbo注册到zookeeper集群

 说明:这里dubbo分为服务提供者(dubbo-provider),服务消费者(dubbo-consume),以及dubbo管理平台(dubbo-admin)
 a.新建服务提供者(dubbo-provider)
     1.新建springboot项目dubbo-provider,引入dubbo和zookeeper的maven依赖,这里服务提供者和消费者一样。
	     
				com.alibaba
				dubbo
				2.4.10
				
					
						spring
						org.springframework
					
				
			
			
				org.apache.zookeeper
				zookeeper
				3.4.6
				
					
						slf4j-log4j12
						org.slf4j
					
				
			
			
				com.github.sgroschupf
				zkclient
				0.1
			
			
	2.新建provider.xml文件(记得在启动类上引入该文件)
	    
	    
	    
	    
	        
	    
	        
	    
	        
	    
     3. 新建服务接口和实现类,这里分别为DubboService DubboServiceImpl
     
	    public interface DubboService {
	            String getName(String name);
    	}
    	
	    public class DubboServiceImpl implements DubboService {
	    @Override
	    public String getName(String name) {
	        return "my name is " + name;
	    }
	   }
	   
 b.新建服务消费者(dubbo-consume)
	  1.新建springboot项目,引入dubbo和zookeepermaven依赖,参考dubbo-provider
	  2.新建consume.xml文件
	    
	    
	    
	    
	    
	    
      3.新建调用接口
       说明:1.调用的时候生成代理类,通过代理类去调用远程服务
            2.这里直接新建的调用接口(实际不推荐这么用,一般是通过jar的导入来引用),这里类名和包名必须和服务提供者一致,             否则找不到服务提供者
      
	    public interface DubboService {
	         String getName(String name);
	   }

controller调用注入服调用即可
zookeeper+dubbo+springboot实现高可用服务治理(集群版)_第3张图片

三.分别启动dubbo-provider,dubbo-consume,可以看到服务消费者生成了代理类去访问远程服务。

zookeeper+dubbo+springboot实现高可用服务治理(集群版)_第4张图片

四.用postman测试一下

zookeeper+dubbo+springboot实现高可用服务治理(集群版)_第5张图片
到这,dubbo整合zookeeper集群已经ok了,下面安装一个dubbo-admin来管理服务。

四.下载dubbo-admin

 一.下载地址:
	dubbo-admin:https://github.com/apache/incubator-dubbo/tree/dubbo-2.6.0 
    注意:dubbo-2.6.1以后的版本不再有dubbo-admin 
 二.修改dubbo-admin配置文件
    dubbo.registry.address=zookeeper://172.25.62.101:2181  #改成自己的zookeeper地址
 三.启动dubbo-amdin查看服务信息

zookeeper+dubbo+springboot实现高可用服务治理(集群版)_第6张图片

你可能感兴趣的:(分布式集群部署)