dubbo 注册中心zookeeper 手册
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
zookeeper 注册中心
Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 1。
流程说明:
- 服务提供者启动时: 向
/dubbo/com.foo.BarService/providers
目录下写入自己的 URL 地址 - 服务消费者启动时: 订阅
/dubbo/com.foo.BarService/providers
目录下的提供者 URL 地址。并向/dubbo/com.foo.BarService/consumers
目录下写入自己的 URL 地址 - 监控中心启动时: 订阅
/dubbo/com.foo.BarService
目录下的所有提供者和消费者 URL 地址。
支持以下功能:
- 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
- 当注册中心重启时,能自动恢复注册数据,以及订阅请求
- 当会话过期时,能自动恢复注册数据,以及订阅请求
- 当设置
<dubbo:registry check="false" />
时,记录失败注册和订阅请求,后台定时重试 - 可通过
<dubbo:registry username="admin" password="1234" />
设置 zookeeper 登录信息 - 可通过
<dubbo:registry group="dubbo" />
设置 zookeeper 的根节点,不设置将使用无根树 - 支持
*
号通配符<dubbo:reference group="*" version="*" />
,可订阅服务的所有分组和所有版本的提供者
使用
在 provider 和 consumer 中增加 zookeeper 客户端 jar 包依赖:
<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.3.3</version>
</dependency>
或直接下载。
Dubbo 支持 zkclient 和 curator 两种 Zookeeper 客户端实现:
使用 zkclient 客户端
从 2.2.0
版本开始缺省为 zkclient 实现,以提升 zookeeper 客户端的健状性。zkclient 是 Datameer 开源的一个 Zookeeper 客户端实现。
缺省配置:
<dubbo:registry ... client="zkclient" />
或:
dubbo.registry.client=zkclient
或:
zookeeper://10.20.153.10:2181?client=zkclient
需依赖或直接下载:
<dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version>
</dependency>
使用 curator 客户端
从 2.3.0
版本开始支持可选 curator 实现。Curator 是 Netflix 开源的一个 Zookeeper 客户端实现。
如果需要改为 curator 实现,请配置:
<dubbo:registry ... client="curator" />
或:
dubbo.registry.client=curator
或:
zookeeper://10.20.153.10:2181?client=curator
需依赖或直接下载:
<dependency><groupId>com.netflix.curator</groupId><artifactId>curator-framework</artifactId><version>1.1.10</version>
</dependency>
Zookeeper 单机配置:
<dubbo:registry address="zookeeper://10.20.153.10:2181" />
或:
<dubbo:registry protocol="zookeeper" address="10.20.153.10:2181" />
Zookeeper 集群配置:
<dubbo:registry address="zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181,10.20.153.12:2181" />
或:
<dubbo:registry protocol="zookeeper" address="10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181" />
同一 Zookeeper,分成多组注册中心:
<dubbo:registry id="chinaRegistry" protocol="zookeeper" address="10.20.153.10:2181" group="china" />
<dubbo:registry id="intlRegistry" protocol="zookeeper" address="10.20.153.10:2181" group="intl" />
zookeeper 安装
安装方式参见: Zookeeper安装手册,只需搭一个原生的 Zookeeper 服务器,并将 Quick Start 中 Provider 和 Consumer 里的 conf/dubbo.properties
中的 dubbo.registry.addrss
的值改为 zookeeper://127.0.0.1:2181
即可使用。
可靠性声明
阿里内部并没有采用 Zookeeper 做为注册中心,而是使用自己实现的基于数据库的注册中心,即:Zookeeper 注册中心并没有在阿里内部长时间运行的可靠性保障,此 Zookeeper 桥接实现只为开源版本提供,其可靠性依赖于 Zookeeper 本身的可靠性。
兼容性声明
因 2.0.8
最初设计的 zookeeper 存储结构不能扩充不同类型的数据,2.0.9
版本做了调整,所以不兼容,需全部改用 2.0.9
版本才行,以后的版本会保持兼容 2.0.9
。2.2.0
版本改为基于 zkclient 实现,需增加 zkclient 的依赖包,2.3.0
版本增加了基于 curator 的实现,作为可选实现策略。
1. 建议使用
2.3.3
以上版本的 zookeeper 注册中心客户端↩
dubbo 注册中心zookeeper 手册相关推荐
- dubbo注册中心zookeeper的安装使用
Zookeeper是Apache Hadoop的一个子项目,是一个集群管理工具.没错,zookeeper就是动物园管理员的意思,我们学习的语言不是既有大象hadoop,蜜蜂,还有猪等. zookeep ...
- 微服务 注册中心的作用_微服务架构Dubbo之注册中心(Zookeeper)
注册中心简介 在微服务架构中,注册中心是核心的基础服务之一.在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中.Dubbo是一个在国内比较流行的分布式框架,被大量的中小型互联网公司所采用 ...
- dubbo注册中心的细节
在配置dubbo注册中心时,一般会这样写 dubbo.registry.protocol=zookeeper dubbo.registry.address=127.0.0.1:2181 也会简单地写成 ...
- Dubbo注册中心-监控中心安装笔记(CentOS7)
Dubbo注册中心的安装部署--Zookeeper 1.服务器需要java环境,测试java java -version 2.上传Zookeeper的安装包 zookeeper-3.4.6. ...
- Dubbo 注册中心详解
目录 1.注册中心的工作流程 2.注册中心的数据结构 3.订阅发布的实现 3.1 发布的实现 3.2 订阅的实现 4.缓存机制 4.1 缓存的加载 4.1 缓存的保存与更新 5.重试机制 6.设计模式 ...
- 这个Dubbo注册中心扩展,有点意思
今天想和大家聊聊Dubbo源码中实现的一个注册中心扩展.它很特殊,也帮我解决了一个困扰已久的问题,刚刚在生产中用了,效果很好,迫不及待想分享给大家. Dubbo的扩展性非常灵活,可以无侵入源码加载自定 ...
- SSM综合项目实战(TTSC) -- day02 Dubbo注册中心,通用Mapper,分页插件
一.Dubbo的连接方式 1.连接方式介绍 使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian.HTTP.RMI.Memcached.Redis等等.由于Dubbo将这些协议的实 ...
- 基于ZooKeeper的Dubbo注册中心【转】
2019独角兽企业重金招聘Python工程师标准>>> Zookeeper注册中心安装 建议使用dubbo-2.3.3以上版本的zookeeper注册中心客户端.Zookeeper是 ...
- Dubbo 注册中心 之 Zookeeper
2-6 注册中心概述
最新文章
- 中国×××的“超级无敌”玩法
- java list循环中删除元素的坑
- SwipeRefreshLayout
- iis php打开空白页,windows+IIS+php 访问显示空白页 php版本信息访问正常
- 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误
- Linux进程核心代码怎么查看,GCOV查看arm-linux代码覆盖率
- Win10配置VSCode+Opencv3(C++) GCC环境
- Cobalt Strike 3.13的新功能
- linux定时对准时间,Linux校对时间
- Redis学习之Master/Salve十一
- Hammer.js 进行图片缩放
- Supervised pre-trainning有监督预训练
- 等我装完B 我再收拾你 Wating me to fuck you
- KILE 报 contains an incorrect path. 错误
- Python (python -m venv)命令创建虚拟环境
- VC驿站《VC++实战HTTP之POST》教程
- b5对战平台服务器位置,csgob5对战平台
- 【转】PC机安装MAC虚拟机
- 机器学习作业2编程作业(python):Logistic Regression
- python-opencv将图片 / 视频帧写为视频
热门文章
- 【手算】哈夫曼编码—树形倒置快速画法
- 学习 - java位运算符
- 【牛客 - 280A】勘测(fib数列,思维,打表)
- 【牛客 - 302哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(低年级)】 小乐乐算数字(水题,快速幂,lowbit)
- 七天入门图像分割(1):图像分割综述
- 《Python编程:从入门到实践》速查表
- 机器学习笔记(八):神经网络:学习
- mysql显示修改密码_MySQL修改密码
- 消息测试服务器,测试统一消息服务器功能
- mysql_fetch_bit_mysql_fetch_array()