基于zookeeper和dubbo构建高可用服务

一、zookeeper安装

1、下载zookeeper,访问地址:http://www.apache.org/dyn/closer.cgi/zookeeper/,本次下载3.2.6版本。也可以访问北理工镜像站进行下载。

2、下载后为gz格式文件,上传至服务器/usr/local/目录下,解压缩

cd /usr/local/

tar -zxvf zookeeper-3.3.6.tar.gz

有关优化配置等内容,不在次文档之列,具体可以参考:

http://www.linuxidc.com/Linux/2012-06/62304.htm

另外还有zookeeper监控工具等:https://www.oneapm.com/ci/zookeeper.html

3、启动zookeeper,进入/usr/local/zookeeper-3.3.6/bin/目录,启动zookeeper。

cd /usr/local/zookeeper-3.3.6/bin

./zkServer.sh start

二、dubbo安装

1、下载dubbo

为了便于监控dubbo服务,本次下载dubbo-admin服务。

可以通过github下载源码后编译,也可以下载对应war包。

源码下载地址:https://github.com/alibaba/dubbo/releases

war下载地址:http://dubbo.io/Download-zh.htm  (如果下载失败,可以通过csdn下载)

2、启动dubbo

dubbo-admin是dubbo的监控平台,集成了dubbo服务的简单可视化管理功能,需要通过tomcat启动。

建议新建一个tomcat,设置不同访问端口,将dubbo-admin.war拷贝至${dubbo_tomcat_home}/webapps/目录下

启动tomcat

${dubbo_tomcat_home}/bin/startup.sh

三、服务的构建

dubbo的使用分为提供者(provider)、消费者(customer),dubbo与spring能够完美结合。

1、提供方配置

新增dubbo配置文件(spring-dubbo-provider.xml),内含如下内容:



    
    
    
    
    
    
    
    
    
    

以上配置文件将dubbo服务注册到了123.57.56.94服务器的2181端口上(此端口为zookeeper的默认端口)。

2、消费方配置

新增dubbo配置文件(spring-dubbo-customer.xml),内含如下内容



    
    
    
    
    
    
    
    
    
    
    
    
                     

以上配置文件引入了192.168.0.59服务器的2181端口所提供的服务

四、服务的启动

dubbo服务提供者的启动分为两种情况:web项目和非web项目。web项目可通过发布至容器(tomcat等)中进行启动;非web项目需要打包成jar格式进行启动。tomcat启动不再赘述,jar启动时注意,linux下通过java -jar启动的服务将直接将信息打印至当前控制台,当窗口关闭后服务自动停止,因此需要后台运行jar,可用如下命令:

nohup java -jar interfaceweb.jar &

也可以加入java内存设置参数 nohup java -Xms256m -Xmx1024m interfaceweb.jar &

消费端的启动不再赘述。

五、常用命令

zookeeper的启动:/usr/local/zookeeper/bin/zkServer.sh

dubbo-admin的启动:/usr/local/dubbo-admin-tomcat/bin/startup.sh

dubbo服务的启动:nohup java -jar/home/dubbo/jar/interfaceweb.jar &

监控dubbo服务情况:tail -f /home/dubbo/jar/nohup.out

监控dubbo-admin的注册服务:http://${服务地址}:${端口}/dubbo   默认用户名:root,默认密码:root

六、常见问题

1、将provider的jar上传至dubbo-admin服务器,能够正常注册,注册后在dubbo-admin管理控制台中显示提供者ip为外网ip,并且与本机ip无任何关系。

解决办法:dns设置问题,需要手动设置spring-dubbo-provider.xml,加入host指向:

 

2、provider启动提示端口绑定(bind)

单台服务器注册多个服务时,需要将服务设置为不同端口



3、注册服务时多次提示注册错误

建议重启dubbo-admin-tomcat。

其他问题可参看http://dubbo.io/FAQ-zh.htm






你可能感兴趣的:(dubbo)