motan负载均衡/zookeeper集群/zookeeper负载均衡的关系
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负载均衡的关系的更多相关文章
- 结合Apache和Tomcat实现集群和负载均衡 JK 方式
本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实操经历记录而成,碰到些出入,以及个别地方依据个人的习惯,所以在一定程度上未能保持原文的完整性,还望原著者海涵. 因原文中有较多的 ...
- 结合Apache和Tomcat实现集群和负载均衡
http://fableking.iteye.com/blog/360870 TomcatApacheJSP应用服务器Web 本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实 ...
- 基于Apache的Tomcat负载均衡和集群(2)
反向代理负载均衡 (Apache+JK+Tomcat) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的.这种代理方式 ...
- kafka+zookeeper集群
参考: kafka中文文档 快速搭建kafka+zookeeper高可用集群 kafka+zookeeper集群搭建 kafka+zookeeper集群部署 kafka集群部署 kafk ...
- ActiveMQ(八)_多集群的负载均衡
图一 图一说明: 1.集群一包含3个队列:A ...
- 在Linux上使用Nginx为Solr集群做负载均衡
在Linux上使用Nginx为Solr集群做负载均衡 在Linux上搭建solr集群时需要用到负载均衡,但测试环境下没有F5 Big-IP负载均衡交换机可以用,于是先后试了weblogic的proxy ...
- 结合Apache和Tomcat实现集群和负载均衡 JK 方式 2 (转)
本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apa ...
- 基于nginx的tomcat负载均衡和集群
要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了. 你可以自己写tomcat的扩展来保存SESSI ...
- linux下一个apache+tomcat负载均衡和集群
先说一下我的环境 一个ubuntu虚拟机, 一个apache2.2示例 两tomcat1.7示例 1.安装apacheserver sudo apt-get install apache2 假设要重新 ...
随机推荐
- ajaxFileUpload上传文件简单示例
写在前面: 上传文件的方式有很多,最近在做项目的时候,一开始也试用了利用jquery的插件ajaxFileUpload来上传大文件,下面,用一个上传文件的简单例子,记录下,学习的过程~~~ 还是老样子 ...
- iOS 通过UIControl,自定义控件
如:自定义一个可以点击的 图文 #import <UIKit/UIKit.h> @interface UD_Button : UIControl @property(nonatomic,s ...
- jsp程序设计:jstl之JSTL标签库
转载自:http://www.blogjava.net/haizhige/archive/2008/10/26/236783.html,个人进行了一些修改. 前言:写一个taglib一般可以继承Sim ...
- wait/notify 实现多线程交叉备份
一.任务 创建20个线程,其中10个线程是将数据备份到 A 数据库中,另外10 个线程将数据备份到 B 数据库中,并且备份 A 数据库和 备份 B 数据库的是交叉运行的. 二.实现 1.实现备份 A ...
- Java 硬件同步机制 Swap 指令模拟 + 记录型信号量模拟
学校实验存档//.. 以经典的生产者消费者问题作为背景. 进程同步方式接口: package method; /** * P表示通过,V表示释放 */ public interface Method ...
- MySQL在字段中使用select子查询
前几天看别人的代码中看到在字段中使用select子查询的方法,第一次见这种写法,然后研究了一下,记录下来 大概的形式是这样的: select a .*,(select b.another_field ...
- crm踩坑记(三)
React 如何同步更新state 由于setState方法是异步的,而通常很多时候在一个生命周期里更新state后需要在另一个生命周期里使用这个state. 下面介绍几个方法 // 1 this.s ...
- Python的文件及异常
1. Python的文件及异常 1.1 文件操作 1.1.1 从文件中读取数据 许多情况下,我们的信息是存储在文本中的.例如对用户行为的分析,用户访问系统或者网站的访问信息会被存储于文本中,然后对文本 ...
- tornado 学习笔记
import tornado.ioloop import tornado.web class MainHanlwe(tornado.web.RequestHandler): def get(self) ...
- MySQL主从复制原理以及架构
1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的 数据复制到其它主机(slaves)上,并 ...