Zookeeper
Posted H+
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper相关的知识,希望对你有一定的参考价值。
Zookeeper介绍:
Zookeeper是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo服务的注册中心。
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小,常与dubbo结合使用。
常用端口:
zookeeper有三个端口(可修改)
1、2181:对cline端提供服务(常用)
2、3888:选举leader使用
3、2888:集群内机器通讯使用(Leader监听此端口)
注意:
1、单机单实例,只要端口不被占用即可
2、单机伪集群(单机,部署多个实例),三个端口必须修改为组组不一样,如:
myid1 : 2181,3888,2888
myid2 : 2182,3788,2788
myid3 : 2183,3688,2688
3、集群(一台机器部署一个实例)
集群为大于等于3个基数,如 3、5、7....,不宜太多,集群机器多了选举和数据同步耗时时长长,不稳定。一般的,三台选举+N台observe。
使用:
1,添加依赖的jar包
2,在xml中添加dubbo的约束,使用dubbo:service来发布服务。
约束: xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
<!-- 使用dubbo发布服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="e3-manager" />
<dubbo:registry protocol="zookeeper" address="192.168.25.154:2181,192.168.25.154:2182" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<!-- <dubbo:service interface="cn.e3mall.service.ItemService" ref="itemServiceImpl" /> -->
3,配置服务的引用
约束: xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" http://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd
<!-- 引用dubbo服务 --> <dubbo:application name="e3-manager-web"/> <dubbo:registry protocol="zookeeper" address="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"/> <!-- <dubbo:reference interface="cn.e3mall.service.ItemService" id="itemService" /> -->
以上是关于Zookeeper的主要内容,如果未能解决你的问题,请参考以下文章