dubbo为何用到zookeeper
dubbo项目启动后,会将每一个service都注册到zookeeper的dubbo目录下,并且将service的提供者和调用者的地址端口信息写入,如下图所示
因为注册的是临时节点,如果providers掉线,会在列表中删除,所以列表维护的是可用的列表
如果一个调用者需要调用一个service,zookeeper会将providers的列表返回,具体调用哪个providers是由调用者实现的负载均衡算法,并不是zookeeper实现的。
dubbo的负载均衡算法
Random LoadBalance(随机均衡算法)
随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
RoundRobin LoadBalance(权重轮循均衡算法)
轮循,按公约后的权重设置轮循比率。
存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。(针对此种情况,需要降低该服务的权值,以减少对其调用)
LeastAction LoadBalance(最少活跃调用数均衡算法)
最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。
使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。
ConsistentHash LoadBalance(一致性Hash均衡算法)
一致性Hash,相同参数的请求总是发到同一提供者。
当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。
dubbo为何用到zookeeper相关推荐
- dubbo源码解析-zookeeper创建节点
前言 在之前dubbo源码解析-本地暴露中的前言部分提到了两道高频的面试题,其中一道dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,那发布者和订阅者还能通信吗?在上周的dubbo源码 ...
- 微服务 注册中心的作用_微服务架构Dubbo之注册中心(Zookeeper)
注册中心简介 在微服务架构中,注册中心是核心的基础服务之一.在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中.Dubbo是一个在国内比较流行的分布式框架,被大量的中小型互联网公司所采用 ...
- Dubbo源码解析 —— Zookeeper 订阅
作者:肥朝 原文地址:https://www.jianshu.com/p/73224a6c07bb 友情提示:欢迎关注公众号[芋道源码].????关注后,拉你进[源码圈]微信群和[肥朝]搞基嗨皮. 友 ...
- 为什么dubbo使用ZkClient作为zookeeper的客户端
本文内容并非原创,使用资料均来自互联网. dubbo使用了zkClient而不是使用zookeeper本身的客户端与zookeeper进行交互,为什么呢? 先看看zookeeper本身自带的客户端的问 ...
- dubbo 入门教程 基于zookeeper
第一步 在spring官网下载一个spring比较全的包. 我用的还是以前的3.2 第二步 新建一个web项目.将spring的包放在lib下面. 第三步 在dubbo.io官网的版本库下载dubbo ...
- Dubbo 注册中心 之 Zookeeper
2-6 注册中心概述
- 两个月拿到N个offer,看看我是如何做到的
转载自 两个月拿到N个offer,看看我是如何做到的 前言: 北京-三年经验-Java,在金三银四这两个月期间(在五月初还去面试了几家,主要是三四月份期面试剧居多),我跳槽面试,前前后后我面试十五 ...
- 上两个月,15家面试,几个offer , 我的面试历程!
本人三年java工作经验,下面是这两个月的面试历程,分享给大家! 1.新东方 03_19 技术面试,两轮,地点:中关村地铁站E口,某大厦大厦6层, 面试时间:2019_03_19_10:30(提前到了 ...
- 北京工作三年程序员,2018年4~5月面试经历
1.新东方 04_19 技术面试,两轮,地点:中关村地铁站E口,鼎好大厦6层, 面试官:龙彦俊,李经理 面试时间:2018_04_19_10:30(提前到了45分钟) 1.自我介绍 2.项目介 ...
最新文章
- 序列内置方法详解(string/list/tuple)
- MyAdapter Andriod
- cs结构航空订票系统java_VC++航空订票系统数据库设计-课程设计
- 黑马程序员--线程【下】
- 这 28 张精炼图,将吴恩达的 deeplearning.ai 总结得恰到好处!
- ZJOI2019赛季回顾
- 百度网盘挺住!给非会员限速只是为了活下去
- Virtio: An I/O virtualization framework for Linux | 原文
- 利用Auto Deploy 部署ESXi 5
- Elasticsearch数据库下载
- 如何将常用软件在Finder工具栏上置顶?
- 最小生成树:Kruskal算法
- 教师工作量管理系统设计_教育培训机构为什么一定要用管理系统?
- gstream初次尝试
- 数据分享 — 国内外常用夜间灯光数据产品介绍
- ROSDUCT:通过rosbridge在本地公开远程ROS主题、服务和参数
- 用FFmpeg快捷加文字水印
- 地铁口多了一堆小卡片,事情并不简单?
- 生活,人艰不拆,各种躺枪
- 走进小作坊(十)----长尾效应