码迷,mamicode.com
首页 > 其他好文 > 详细

motan负载均衡/zookeeper集群/zookeeper负载均衡的关系

时间:2018-01-09 18:36:23      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:做了   nbsp   怎么办   系统   web   不用   组成   是什么   zook   

motan/dubbo支持负载均衡、zookeeper有集群的概念、zookeeper似乎也能做负载均衡,这3者是什么关系呢?

先说zooKeeper,我们都知道在与分布式框架motan/dubbo等联合使用时,zookeeper的基本功能是做注册中心,也就是多个服务提供方,将自己发布到zookeeper上。这样,服务的消费方就可以不直接硬编码服务提供方的地址,而是通过zookeeper,使用服务名称(就是一个字符串)查找到服务,从而调用服务提供方的方法。

从这个原理上说,似乎通过zookeeper来实现负载均衡是顺理成章的 —— 在zookeeper上注册多个相同功能的服务,消费方调用时,只需要通过zookeeper控制一下提供哪个服务即可(轮询、加权轮询、最小负载、IPHash...),这就实现了web层的负载均衡。

这个理解是对的。不过,当zookeeper与motan、dubbo这些框架联合使用时,一般就没有必要这么做了,可直接使用这些框架提供的负载均衡能力即可。原因,

1. zookeeper并未提供现成的负载均衡功能,只是提供了存储/注册服务、查找服务的功能,负载均衡对zookeeper来说是上层应用,需要服务实现方和消费方自己实现。理论上来说,不用zookeeper,用redis、数据库、map之类的,也完全可以达到同样的目的,只有可以存储多个服务标记,并可以通过标记查找到服务就可以自己在应用层做软负载了。

2. motan、dubbo本身就提供的负载均衡的能力,这个甚至不需要编码,只需要在配置文件中配置一下即可。

zookeeper集群是什么概念呢?

zookeeper集群是为了解决zookeeper自己单点的问题,也就是: zookeeper是注册中心,很重要,那要是zookeeper自己挂了怎么办?为了防止一个zookeeper挂了导致整个系统无法正常调用服务,可以用多个zookeeper来组成集群,一个挂了,还有别的。因此,zookeeper集群与负载均衡是没有关系的。

motan负载均衡/zookeeper集群/zookeeper负载均衡的关系

标签:做了   nbsp   怎么办   系统   web   不用   组成   是什么   zook   

原文地址:https://www.cnblogs.com/kingking512/p/8252606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!