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. 小强的Hadoop学习之路

    本人一直在做NET开发,接触这行有6年了吧.毕业也快四年了(6年是因为大学就开始在一家小公司做门户网站,哈哈哈),之前一直秉承着学要精,就一直一门心思的在做NET(也是懒吧).最近的工作一直都和大数据 ...

  2. spring cloud ribbon和fegin

    一开始接触spring cloud的时候,还没有听说过微服务这个概念,对于服务直接的沟通是什么个情况,怎么组成微服务的完全懵逼,看到网上的教程都是用ribbong和fegin来调用接口,然后官网也给的 ...

  3. JMeter3.0脚本中文乱码解决方法

    修改apache-jmeter-3.0\bin\jmeter.properties文件,编辑jsyntaxtextarea.font.family=宋体.

  4. 【java】HashMap、Map、Set、HashMap.put()、HashMap.keySet()、HashMap.entrySet()、Map.Entry内部类

    package com.tn.hashMap; public class Student { private String id; private String name; public Studen ...

  5. iOS动态性:动态添加属性的方法——关联(e.g. 向Category添加属性)

    想到要如何为所有的对象增加实例变量吗?我们知道,使用Category可以很方便地为现有的类增加方法,但却无法直接增加实例变量.不过从Mac OS X v10.6开始,系统提供了Associative ...

  6. echarts异步数据加载(在下拉框选择事件中异步更新数据)

    接触echarts 大半年了,从不会到熟练也做过不少的图表,隔了一段时间没使用这玩意,好多东西真心容易忘了.在接触echarts这期间也没有总结什么东西,今天我就来总结一下如何在echart中异步加载 ...

  7. JS画几何图形之五【过圆外一点作切线】

    样例:http://www.zhaojz.com.cn/demo/draw9.html 依赖:[点].[直线].[圆] //画切线 //point 圆外的一点 //dot 圆心 //r 半径 func ...

  8. 前端之JavaScript--基础

    JavaScript 独立的语言,浏览器具有js解释器 一. JavaScript代码存在形式: - Head中 <script> //javascript代码 alert(123); & ...

  9. 韩顺平教学资源java、oracle、linux

    http://blog.itpub.net/28688617/viewspace-766392/

  10. Python的*args与**kwargs

    当Python的函数的参数不确定时,可以使用*args与**kwargs来指代不定数量的参数. 两者的区别是,*args是个tuple(元组),而**kwargs是个dict(字典). 先通过代码来验 ...