Zookeeper + Dubbo + SpringMVC + dubbo-admin

第一步:在CentOS/Windows上安装Zookeeper【前提】

A:CentOS
    Zookeeper作为Dubbo服务的注册中心,Dubbo原先基于数据库的注册中心,没采用Zookeeper,Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。我们先在linux上安装Zookeeper,我们安装最简单的单点,集群比较麻烦。
    下载:
# tar zxvf zookeeper-3.4.6.tar.gz 
# mv zookeeper-3.4.6 /home/root
    配置zoo.cfg:
# cd /home/root/zookeeper-3.4.6/conf
# cp zoo_sample.cfg zoo.cfg         
【Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件,所以我们复制一个名称为zoo.cfg的文件】
    1、clientPort:监听客户端连接的端口。
    2、dataDir: 数据目录. 可以是任意目录
    3、dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
    4、tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
    我们可以对配置文件的端口等或者进行高级配置和集群配置例如:maxClientCnxns:限制连接到 ZooKeeper 的客户端的数量等

5、syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.

    6、server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.
    启动:
# cd /home/root/zookeeper-3.4.6/bin
# ./zkServer.sh start
 
开启防火墙端口:
# service iptables status
# /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
# /etc/rc.d/init.d/iptables save
 
B:Windows下使用Zookeeper更简单,直接解压,运行bin目录下的zkServer.cmd即可;
 
至此,Zookeeper单机模式已经配置好,启动了(此例为单机模式,实际上线必须使用集群模式)【???不清楚是否拥有密码,控制服务和消费放的接入】
 
第二步:配置dubbo-admin管理控制台,方便我们管理【可选】    

1、获取源码:https://github.com/alibaba/dubbo

    2、编译,导出war文件:dubbo-admin-2.4.1.war
        修改01:pom.xml的dubbo依赖的vsrsion改为2.5.3,因为原vsrsion依赖maven不存在;
    3、修改配置WEB-INF目录下文件:dubbo.properties    【配置zookeeper注册中心的地址、配置dubbo-admin的root和guest账号的密码】
        dubbo.registry.address=zookeeper://127.0.0.1:2181
        dubbo.admin.root.password=root_pwd
        dubbo.admin.guest.password=guest_pwd
    4、导出war包,部署在tomcat下,启动服务查看;
    5、浏览器输入网址登陆,输入上述配置的账号密码
    6、管理监控,提供者和消费者,以及其他一系列功能;
 
第三部:Spring整合Dubbo(Zookeeper)【必须】    

..Zookeeper + Dubbo + SpringMVC + dubbo-admin..
上一篇:(转)超过 130 个你需要了解的 vim 命令


下一篇:redis lua 用来传输日志