zookeeper和淘宝dubbo的关系

news/2024/9/28 13:15:10 标签: zookeeper, dubbo

Dubbo建议使用Zookeeper作为服务的注册中心。

1.   Zookeeper的作用:

        zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉的机器提供服务。zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除。至于支持高并发,简单来说就是横向扩展,在不更改代码的情况通过添加机器来提高运算能力。通过添加新的机器向zookeeper注册服务,服务的提供者多了能服务的客户就多了。
 

2.  dubbo

      是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。

      注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。

3. zookeeperdubbo的关系:
      Dubbo的将注册中心进行抽象,是得它可以外接不同的存储媒介给注册中心提供服务,有ZooKeeper,Memcached,Redis等。
      引入了ZooKeeper作为存储媒介,也就把ZooKeeper的特性引进来。首先是负载均衡,单注册中心的承载能力是有限的,在流量达到一定程度的时候就需要分流,负载均衡就是为了分流而存在的,一个ZooKeeper群配合相应的Web应用就可以很容易达到负载均衡;资源同步,单单有负载均衡还不够,节点之间的数据和资源需要同步,ZooKeeper集群就天然具备有这样的功能;命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。其他特性还有Mast选举,分布式锁等。


http://www.niftyadmin.cn/n/1869890.html

相关文章

match_parent、wrap_parent、具体值 和 MeasureSpec 类中 mode 的对应关系

如果不考虑父 view 的影响,测试结果如下: * wrap_parent -> MeasureSpec.AT_MOST * match_parent -> MeasureSpec.EXACTLY * 具体值 -> MeasureSpec.EXACTLY 这是一个符合我们直觉的结果。 一个 view 的 onMeasure 方法最终得到的测量规格…

android APK签名原理

转自:http://blog.csdn.net/kickxxx/article/details/18252881 网上已有多篇分析签名的类似文章,但是都有一个共同的问题,就是概念混乱,混乱的一塌糊涂。 在了解APK签名原理之前,首先澄清几个概念: 消息摘要 -Message …

andorid studio 设置

andorid studio 在使用之前,通常我们需要进行一些常用的偏好设置。 1. andorid studio 主题设置 如上图所示,在 android studio 的 setting -> appearence&behavior -> appearance -> UI options -> theme 中选择 Darcula 主题&#xf…

android studio 中的编码问题

在 android studio 中直接创建项目和导入其他项目都会有一个文件编码设定的问题,在 android studio (version 1.2.0)中设置文件的编码,只需要两步: 1.打开Setting->Editor->File Encoding 进行编码设置 2.打开mo…

android 里面的 Drawable 和 ConstantState

Drawable Drawable就是一个可绘制的对象,或者叫做可渲染的对象,里面保存的是可以绘制的数据,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还可…

android View System touch 事件分发流程

View 系统触摸事件的分发流程 touch 事件输入流程 touch 输入事件是用户对触摸屏进行触摸操作后,Linux 操作系统产生的一系列输入事件。 在 Android 的 System Server 进程中, InputReader 线程专门读取 Linux 操作系统产生的输入事件, InputDispatcher…

Android Studio 的下载和安装

工欲善其事,必先利其器。要做 Android 应用程序的开发,先要配置好 Android 的开发工具。官方指定的 Android 开发工具就是 Android Studio。 Android Studio 默认包含 Android Studio IDE,Android SDK tools,Android 5.0 platform…

SurfaceView 基础用法

Android 游戏开发框架核心组件 核心组件介绍 SurfaceView 介绍 SurfaceView 介绍 SurfaceView 就是带 Surface 的 view,它是一个 View,是 View 的子类,所以和其他 View 一样,可以在屏幕上展示东西接收用户输入,具有…