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

3个概念:motan/dubbo负载均衡、zookeeper集群、zookeeper负载均衡的关系和选择

1. zookeeper负载均衡:

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

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

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

1)zookeeper并未提供现成的负载均衡功能,只是提供了基本的存储、查找功能,可以简单理解为一个类似memcache、redis、db的存储,只不过它是树形的,提供的key-value结构是 path-value而已。负载均衡对zookeeper来说是上层应用,需要服务实现方和消费方自己实现。上面提到的轮询、加权轮询、最小负载、IPHash...等均衡策略需要在服务消费方自己实现。理论上来说,不用zookeeper,用redis、数据库、map之类的,也完全可以达到同样的目的,只要可以存储多个服务标记,并可以通过标记查找到服务,再实现负载均衡的策略(就是如何在多个相同的服务中选一个的算法),就基本完成在应用层做的软负载了。

【https://www.cnblogs.com/sa-dan/p/6836772.html】

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

2. motan负载均衡:

起多个服务,在配置文件中配置即可。

【http://blog.csdn.net/xundh/article/details/59538957】【http://www.07net01.com/2017/02/1810643.html】

3. zookeeper集群

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

【http://haohouhou.iteye.com/blog/1424048】

motan负载均衡/zookeeper集群/zookeeper负载均衡的关系的更多相关文章

  1. 结合Apache和Tomcat实现集群和负载均衡 JK 方式

    本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实操经历记录而成,碰到些出入,以及个别地方依据个人的习惯,所以在一定程度上未能保持原文的完整性,还望原著者海涵. 因原文中有较多的 ...

  2. 结合Apache和Tomcat实现集群和负载均衡

    http://fableking.iteye.com/blog/360870 TomcatApacheJSP应用服务器Web  本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实 ...

  3. 基于Apache的Tomcat负载均衡和集群(2)

    反向代理负载均衡 (Apache+JK+Tomcat) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的.这种代理方式 ...

  4. kafka+zookeeper集群

    参考:  kafka中文文档   快速搭建kafka+zookeeper高可用集群   kafka+zookeeper集群搭建 kafka+zookeeper集群部署 kafka集群部署   kafk ...

  5. ActiveMQ(八)_多集群的负载均衡

                                                                           图一     图一说明:    1.集群一包含3个队列:A ...

  6. 在Linux上使用Nginx为Solr集群做负载均衡

    在Linux上使用Nginx为Solr集群做负载均衡 在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxy ...

  7. 结合Apache和Tomcat实现集群和负载均衡 JK 方式 2 (转)

    本文Apache+Tomcat集群配置       基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apa ...

  8. 基于nginx的tomcat负载均衡和集群

    要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了. 你可以自己写tomcat的扩展来保存SESSI ...

  9. linux下一个apache+tomcat负载均衡和集群

    先说一下我的环境 一个ubuntu虚拟机, 一个apache2.2示例 两tomcat1.7示例 1.安装apacheserver sudo apt-get install apache2 假设要重新 ...

随机推荐

  1. 轨迹系列——Socket总结及实现基于TCP或UDP的809协议方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在上一篇博客中我详细介绍了809协议的内容.809协议规范了通 ...

  2. iOS 应用中加载文档pdf/word/txt

    一.加载PDF文档:应用内打开文档.手机中其他应用打开文档 Demo 首先拖入一个文档pdf.word.txt,打开不同的文档知识 文件名字.类型修改即可 #import "ReadView ...

  3. 利用aop插入异常日志的2种方式

    AOP是面向切面编程,利用这个技术可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各个部分的耦合性降低,提高代码的可重用性,同时提高开发效率(来自百度百科). Spring AOP有两种实现方式,一 ...

  4. VMware的一些总结

    一.虚拟主机联网的三种方式: 1.仅主机(Host Only),虚拟主机只能与宿主机联网通信,无法访问外网和宿主机所在局域网的其它主机. 2.桥接(Bridge),在桥接模式下,虚拟主机就像是宿主机所 ...

  5. dd 命令详解

    作用: dd 是一个Unix和类Unix系统中的命令, 主要功能为转换和赋值文件.在Unix和类Unix系统上, 硬件的设备驱动(如硬盘) 和特殊设备文件(如/dev/zero, /dev/rando ...

  6. CentOS7.2 使用Shell安装Oracle12c

    一.操作系统说明 1.操作系统 版本 2.磁盘分区用量 二.安装必要的软件包 for pkg in 'binutils' 'compat-libcap1' 'compat-libstdc++-33' ...

  7. Web API系列之三 基本功能实现

    Web API系列之二讲解了如何搭建一个WebApi的基架,本文主要在其基础之上实现基本的功能.下面开始逐步操作: 一.配置WebApi的路由-用于配置外部如何访问内部资源的url的规则 1.添加Gl ...

  8. Oracle学习笔记_10_判断是否为日期类型

    FUNCTION isdate (datestr VARCHAR2, format VARCHAR2) RETURN number IS p_date DATE; BEGIN SELECT TO_DA ...

  9. Io 异常: The Network Adapter could not establish the connection

    新接触一个项目,导入源码,在本地启动的时候后台报了一个错误: Could not discover the dialect to use. java.sql.SQLException: Io 异常: ...

  10. 关于 dos 下 npm 命令的使用

    npm install 可以安装模块,后面跟 -g 安装全局的,后面跟包的名字就是安装指定的包 npm uninstall <安装包的名字> 卸载某个包,后面跟 -g 是卸载全局的某个包 ...