博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dubbo框架应用之(三)--Zookeeper注冊中心、管理控制台的安装及解说
阅读量:5973 次
发布时间:2019-06-19

本文共 2532 字,大约阅读时间需要 8 分钟。

      我是在linux下使用dubbo-2.3.3以上版本号的zookeeper注冊中心客户端。

是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注冊中心。

Dubbo未对Zookeeper服务器端做不论什么侵入改动。仅仅需安装原生的Zookeeper服务器就可以。全部注冊中心逻辑适配都在调用Zookeeper客户端时完毕。

Zooleeper安装

下载解压

wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gztar zxvf zookeeper-3.3.3.tar.gzcd zookeeper-3.3.3cp conf/zoo_sample.cfg conf/zoo.cfg
配置:
vi conf/zoo.cfg

zoo.cfg的内容例如以下:(当中data文件夹需改成你真实输出文件夹)

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can take#initLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgement#syncLimit=5# the directory where the snapshot is stored.dataDir=/home/dubbo/zookeeper-3.3.3/data# the port at which the clients will connectclientPort=2181
假设须要集群。zoo.cfg的内容例如以下:(当中data文件夹和server地址需改成你真实部署机器的信息)

tickTime=2000initLimit=10syncLimit=5dataDir=/home/dubbo/zookeeper-3.3.3/dataclientPort=2181server.1=ip1server.2=ip2

并在data文件夹下放置myid文件:(上面zoo.cfg中的dataDir)

mkdir datavi myid

启动

./bin/zkServer.sh start
停止
./bin/zkServer.sh stop

管理控制台安装

     管理控制台为内部裁剪版本号,开源部分主要包括:路由规则。动态配置,服务降级。訪问控制。权重调整。负载均衡,等管理功能。

安装

wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gztar zxvf apache-tomcat-6.0.35.tar.gzcd apache-tomcat-6.0.35rm -rf webapps/ROOTwget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.warunzip dubbo-admin-2.4.1.war -d webapps/ROOT

配置: (或将dubbo.properties放在当前用户文件夹下)

vi webapps/ROOT/WEB-INF/dubbo.propertiesdubbo.registry.address=zookeeper://127.0.0.1:2181dubbo.admin.root.password=rootdubbo.admin.guest.password=guest

启动

./bin/startup.sh

停止
./bin/shutdown.sh
訪问(注意我个人改动了默认的端口)(用户:root,密码:root
http://127.0.0.1:8090/

注冊中心抽象

     Dubbo将注冊中心进行抽象,使得它能够外接不同的存储媒介给注冊中心提供服务,有ZooKeeper。Memcached,Redis等。Dubbo抽象后,用户能够进行扩展,我们通过分析ZooKeeper这个实现来了解注冊中心的低层。
     进过抽象之后,用户 仅仅须要实现相应的Registry和RegistryFactory就能够了,ZooKeeper就是实现了ZookeeperRegistry,和ZookeeperRegistryFactory。
     ZookeeperRegistryFactory的实现非常简单。就是返回一个ZookeeperRegistry实例,所以基本的东西是在ZookeeperRegistry中实现的,在ZookeeperRegistry用户须要实现注冊URL。注销URL,URL订阅,URL注销订阅和URL查询,在这里面设计到Zookeeper服务端的调用,都被封装到ZookeeperClient中,ZookeeperClient服务进行Server连接,断链。资源的CRUD。

ZooKeeper的价值

      因为引入了ZooKeeper作为存储媒介,也就把ZooKeeper的特性引进来。
      首先是负载均衡。单注冊中心的承载能力是有限的,在流量达到一定程度的时候就须要分流,负载均衡就是为了分流而存在的,一个ZooKeeper群配合相应的Web应用就能够非常easy达到负载均衡。
     资源同步。单单有负载均衡还不够。节点之间的数据和资源须要同步,ZooKeeper集群就天然具备有这种功能。
     命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers文件夹下写入自己的URL地址,这个操作就完毕了服务的公布。其它特性还有Mast选举。分布式锁等。

你可能感兴趣的文章
SQL Server: Datetime,Datetime2
查看>>
艾伟也谈项目管理,如何完成看似不可能完成的任务
查看>>
[转]gtest使用
查看>>
VS操作技巧
查看>>
java 获取当前函数名
查看>>
async & await 的用法
查看>>
RabbitMQ学习2---使用场景
查看>>
mac平台安装类似yum的工具
查看>>
PHP多种序列化/反序列化的方法(serialize和unserialize函数)
查看>>
python开发_difflib字符串比较
查看>>
被解放的姜戈01 初试天涯
查看>>
mongodb基本数据类型
查看>>
三极管工作区在Spectre中的表示
查看>>
HT for Web的HTML5树组件延迟加载技术实现
查看>>
ASP.NET MVC 3 Razor Nested foreach with if statements
查看>>
【Mysql】命令行
查看>>
Asterisk 安装与配置
查看>>
SQL2008-中不想插入从复记录
查看>>
.Net基础
查看>>
AES加密算法原理
查看>>