2019独角兽企业重金招聘Python工程师标准>>>

Zookeeper注册中心安装

建议使用dubbo-2.3.3以上版本的zookeeper注册中心客户端。Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。Dubbo未对Zookeeper服务器端做任何侵入修改,只需安装原生的Zookeeper服务器即可,所有注册中心逻辑适配都在调用Zookeeper客户端时完成。

安装:

   tar zxvf zookeeper-3.3.3.tar.gz

cd zookeeper-3.3.3

cp conf/zoo_sample.cfg conf/zoo.cfg

配置:

vi conf/zoo.cfg

如果不需要集群,zoo.cfg的内容如下:(其中data目录需改成你真实输出目录)

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/dubbo/zookeeper-3.3.3/data

clientPort=2181

如果需要集群,zoo.cfg的内容如下:(其中data目录和server地址需改成你真实部署机器的信息)

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/dubbo/zookeeper-3.3.3/data

clientPort=2181

server.1=10.20.153.10:2555:3555

server.2=10.20.153.11:2555:3555

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

mkdir data

vi myid

myid指明自己的id,对应上面zoo.cfg中server.后的数字,第一台的内容为1,第二台的内容为2,内容如下:

1

启动:

./bin/zkServer.sh start

停止:

./bin/zkServer.sh stop

命令行: (See: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html)

telnet 127.0.0.1 2181
dump

或者

echo dump | nc 127.0.0.1 2181

用法:

dubbo.registry.address=zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181

或者

<dubbo:registryprotocol="zookeeper"address="10.20.153.10:2181,10.20.153.11:2181"/>

管理控制台安装

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

安装:

wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz

tar zxvf apache-tomcat-6.0.35.tar.gz

cd apache-tomcat-6.0.35

rm -rf webapps/ROOT

wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war

unzip dubbo-admin-2.4.1.war -d webapps/ROOT

配置: (或将dubbo.properties放在当前用户目录下)

vi webapps/ROOT/WEB-INF/dubbo.properties

dubbo.registry.address=zookeeper://127.0.0.1:2181

dubbo.admin.root.password=root

dubbo.admin.guest.password=guest

启动:

./bin/startup.sh

停止:

./bin/shutdown.sh

访问: (用户:root,密码:root 或 用户:guest,密码:guest)

http://127.0.0.1:8080/

注册中心抽象

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应用就可以很容易达到负载均衡;资源同步,单单有负载均衡还不够,节点之间的数据和资源需要同步,ZooKeeper集群就天然具备有这样的功能;命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。其他特性还有Mast选举,分布式锁等。

核心技术:Maven,Springmvc mybatis shiro, Druid, Restful, Dubbo, ZooKeeper,Redis,FastDFS,ActiveMQ,Nginx 
1.     项目核心代码结构截图

项目模块依赖

特别提醒:开发人员在开发的时候可以将自己的业务REST服务化或者Dubbo服务化

2.    项目依赖介绍

2.1 后台管理系统、Rest服务系统、Scheculer定时调度系统依赖如下图:

2.2 Dubbo独立服务项目依赖如下图:

3.  项目功能部分截图:

zookeeper、dubbo服务启动

dubbo管控台

REST服务平台

转载于:https://my.oschina.net/bngkjdnhfkjg/blog/775348

基于ZooKeeper的Dubbo注册中心【转】相关推荐

  1. 引入dubbo项目接口_通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件...

    很流行的Dubbo很多朋友都听说过吧,最近我也在看这方面的东西,分享先我的心得笔记. 先说说我们团队要做的项目框架,很简单重在实现基于zookeeper的dubbo注册. 框架:springmvc+s ...

  2. dubbo 注册中心zookeeper 手册

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. zookeeper 注册中心 Zookeeper 是 Apacahe Hadoop 的子项目,是一个 ...

  3. Dubbo 注册中心详解

    目录 1.注册中心的工作流程 2.注册中心的数据结构 3.订阅发布的实现 3.1 发布的实现 3.2 订阅的实现 4.缓存机制 4.1 缓存的加载 4.1 缓存的保存与更新 5.重试机制 6.设计模式 ...

  4. 这个Dubbo注册中心扩展,有点意思

    今天想和大家聊聊Dubbo源码中实现的一个注册中心扩展.它很特殊,也帮我解决了一个困扰已久的问题,刚刚在生产中用了,效果很好,迫不及待想分享给大家. Dubbo的扩展性非常灵活,可以无侵入源码加载自定 ...

  5. 基于zookeeper实现分布式配置中心(二)

    上一篇(基于zookeeper实现分布式配置中心(一))讲述了zookeeper相关概念和工作原理.接下来根据zookeeper的特性,简单实现一个分布式配置中心. 配置中心的优势 1.各环境配置集中 ...

  6. dubbo注册中心的细节

    在配置dubbo注册中心时,一般会这样写 dubbo.registry.protocol=zookeeper dubbo.registry.address=127.0.0.1:2181 也会简单地写成 ...

  7. Dubbo注册中心-监控中心安装笔记(CentOS7)

    Dubbo注册中心的安装部署--Zookeeper 1.服务器需要java环境,测试java      java -version 2.上传Zookeeper的安装包 zookeeper-3.4.6. ...

  8. SSM综合项目实战(TTSC) -- day02 Dubbo注册中心,通用Mapper,分页插件

    一.Dubbo的连接方式 1.连接方式介绍 使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian.HTTP.RMI.Memcached.Redis等等.由于Dubbo将这些协议的实 ...

  9. Web Api 基于Zookeeper的服务注册与发现

    差异 基于Nginx的服务提供和消费 基于zookeeper的服务注册和发现 zk的负载均衡是可以调控,nginx只是能调权重,其他需要可控的都需要自己写插件:但是nginx的吞吐量比zk大很多,可以 ...

最新文章

  1. Linux软件包增量升级,Linux增量更新jar包内容
  2. tar方式安装oracle11g
  3. 20169205实验一 Java开发环境的熟悉(Linux+IDEA)
  4. HDU1576 A/B 费马小定理
  5. epoll实现压测工具
  6. 使用 dotnet-monitor 分析.NET 应用程序
  7. CountDownLatch,同步辅助类
  8. js调用python接口_JavaScript如何调用Python后端服务
  9. PNG无损压缩工具Optipng【备忘】
  10. 反转!物联网火爆,开发技术却遇瓶颈!
  11. [Perl]利用XML::DOM生成XML文档
  12. layer 弹出框(iframe层)父子页面传值
  13. jj斗地主服务器维护几点能好使啊,JJ斗地主比赛常见问题
  14. 简单高效,分享几款我在使用的效率神器
  15. 解决求平均值出现加和导致的溢出问题
  16. AI大神各显神通!百度深度学习集训营作品大赏
  17. 苹果计算机符号怎么打开,Mac电脑如何输入command(⌘)、option(⌥)、shift(⇧)等特殊符号...
  18. 用计算机求正有理数算术平方根的步骤,用计算器求算术平方根、用有理数估计算术平方根的大小.doc...
  19. 数据库表设计-第三方登录用户表结构设计
  20. WXP连接Vista或Win7远程桌面

热门文章

  1. VS2010-MFC(文档、视图和框架:分割窗口)
  2. openstack项目【day23】:KVM介绍
  3. 你想过自己注定是个普通人吗?
  4. C#重写Equals方法步骤
  5. 关于QT下配置OpenCV3.4.0后出现 error: undefined reference to ‘cv::xxx‘的问题及解决方案,直接使用编译好的opencv库
  6. C#中对虚拟属性和抽象属性的重写,重写label实例
  7. 汇编语言中MOV和OFFSET指令的两个问题?
  8. IOS15仿微信我的页面
  9. IOS开发基础之画板案例软件的开发
  10. whea uncorrectable error蓝屏_Windows 10再出“不可选”更新:蓝屏、死机比较烦