Dubbo+Zookeeper简介

   Dubbo是一个分布式服务框架。Zookeeper也是一个分布式的服务框架,它被作为作为Dubbo服务的注册中心。Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。


一、使用背景

大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。
(1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。
此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。
并通过在消费方获取服务提供方地址列表,实现软负载均衡和Failover,降低对F5硬件负载均衡器的依赖,也能减少部分成本。
(2) 当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。
这时,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系。
(3) 接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?

二、安装与配置

1.在Linux上安装Zookeeper
 在http://www.apache.org/dist/zookeeper/上下载安装上适合的Zookeeper版本。然后到{soft}/conf下拷贝配置文件zoo_sample.cfg并改名为zoo.cfg。修改其中的配置参数:
clientPort:监听客户端连接的端口。
tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
2.启动Zookeeper
# ./bin/zkServer.sh start


3.在Linux上安装Dubbo
未完待续


三、总结

通过上面的介绍,我们经过思考就会发现整个的实现原理是十分简单的。经典的生成者消费者模式,通过在成功的调用层和实现层中间添加一个接口层,然后将对接口的调用都交给Dubbo+Zookeeper进行管理,就能实现调用与实现的分离,进行分布式部署。


参考文档:

1、http://doc.okbase.net/congcong68/archive/112508.html Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

2、http://www.tuicool.com/articles/QjaArm dubbo的安装和使用

猜你喜欢

转载自blog.csdn.net/tongdao/article/details/50468323