`

Dubbo框架应用之(三)--Zookeeper注册中心、管理控制台的安装及讲解

 
阅读更多

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

Zooleeper安装

 

下载解压

  1. <span style="font-size:18px;">wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz  
  2.   
  3. tar zxvf zookeeper-3.3.3.tar.gz  
  4. cd zookeeper-3.3.3  
  5. cp conf/zoo_sample.cfg conf/zoo.cfg</span>  



配置:

  1. <span style="font-size:18px;">vi conf/zoo.cfg</span>  


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

 

  1. <span style="font-size:18px;"># The number of milliseconds of each tick  
  2. tickTime=2000  
  3. # The number of ticks that the initial   
  4. # synchronization phase can take  
  5. #initLimit=10  
  6. # The number of ticks that can pass between   
  7. # sending a request and getting an acknowledgement  
  8. #syncLimit=5  
  9. # the directory where the snapshot is stored.  
  10. dataDir=/home/dubbo/zookeeper-3.3.3/data  
  11.   
  12. # the port at which the clients will connect  
  13. clientPort=2181</span>  




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

 

  1. <span style="font-size:18px;">tickTime=2000  
  2. initLimit=10  
  3. syncLimit=5  
  4. dataDir=/home/dubbo/zookeeper-3.3.3/data  
  5. clientPort=2181  
  6. server.1=ip1  
  7. server.2=ip2</span>  




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

 

  1. <span style="font-size:18px;">mkdir data  
  2. vi myid</span>  

 

启动

 

  1. <span style="font-size:18px;">./bin/zkServer.sh start</span>  




停止

  1. <span style="font-size:18px;">./bin/zkServer.sh stop</span>  



管理控制台安装

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

安装

 

  1. <span style="font-size:18px;">wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz  
  2. tar zxvf apache-tomcat-6.0.35.tar.gz  
  3. cd apache-tomcat-6.0.35  
  4. rm -rf webapps/ROOT  
  5.   
  6. wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war  
  7.   
  8. unzip dubbo-admin-2.4.1.war -d webapps/ROOT</span>  



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

 

  1. <span style="font-size:18px;">vi webapps/ROOT/WEB-INF/dubbo.properties  
  2. dubbo.registry.address=zookeeper://127.0.0.1:2181  
  3. dubbo.admin.root.password=root  
  4. dubbo.admin.guest.password=guest</span>  



启动

 

  1. <span style="font-size:18px;">./bin/startup.sh</span>  



 

停止

  1. <span style="font-size:18px;">./bin/shutdown.sh</span>  



访问(注意我个人修改了默认的端口)(用户:root,密码:root

 
  1. <span style="font-size:18px;">http://127.0.0.1:8090/  
  2. </span>  

 

注册中心抽象

     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选举,分布式锁等。

 

分享到:
评论

相关推荐

    dubbo-admin-2.5.4.war

    【标题】"dubbo-admin-2.5.4.war" 指的是 Dubbo 提供的一款基于 Web 的管理控制台应用,版本为 2.5.4。这个 WAR 文件是一种打包好的 Java Web 应用程序,可以在支持 Java Servlet 的容器(如 Apache Tomcat)上部署...

    Dubbo+Zookeeper+SpringMVC整合实例

    7. **测试和监控**:集成完成后,可以通过Dubbo的管理控制台或者Zookeeper的客户端工具查看服务注册状态,进行调用测试。同时,Dubbo提供了丰富的监控指标,如调用次数、响应时间、异常次数等,帮助开发者实时监控...

    Dubbo新手入门实例HelloWorld(zookeeper)源码低分版

    这个实例结合了Zookeeper作为注册中心,帮助理解Dubbo的基本工作原理。以下将详细讲解涉及的知识点。 首先,Dubbo是一个高性能、轻量级的开源Java RPC框架,它提供了丰富的服务治理功能,如服务注册与发现、负载...

    dubbo安装手册,对初学者有很多帮助

    这篇《dubbo安装手册》是针对初学者的一份详尽指南,旨在帮助新接触 Dubbo 的开发者快速理解和掌握其核心组件——注册中心和管理控制台的安装与使用,为构建高效、可扩展的服务架构打下基础。 【重要知识点一】:...

    dubbo官网学习资料

    对于注册中心的安装,文档中介绍了Zookeeper、Redis和Simple这三种不同类型的注册中心的安装方法。Zookeeper注册中心是推荐使用的方式,它能够有效地管理服务的注册和发现,提供高性能的服务治理能力。而Redis注册...

    dubbo学习资料

    3. **动态配置与监控**:通过Zookeeper等注册中心进行服务的动态配置,同时提供监控中心,可以实时查看服务的调用情况、性能指标等。 4. **接口级粒度**:Dubbo支持接口和方法级别的服务调用,使得微服务间的依赖...

    dubbo 教程 权威指南

    Dubbo通过Zookeeper等注册中心实现服务的注册和发现,使得服务提供者可以向注册中心注册自己的服务,而服务消费者则可以通过注册中心获取到服务提供者的地址信息,实现动态服务调用。 3. **远程调用** Dubbo支持...

    Dubbo在SSM项目中的使用

    此外,Dubbo提供了管理控制台,可以实时查看服务的调用情况、性能指标等,帮助开发者监控系统的运行状态。 6. **优化与扩展**: 随着项目的深入,可能需要考虑更多的优化策略,如调整Dubbo的超时时间、重试次数、...

    dubbo之HelloWorld

    5. **配置 Dubbo**:在 `provider` 项目的 `pom.xml` 中添加 Dubbo 和 Zookeeper 的依赖,然后在 `provider` 的配置文件(如 `dubbo.properties`)中设置服务提供者的端口、应用名、注册中心地址等信息。 6. **暴露...

    使用dubbo+zookeeper+spring boot构建服务的方法详解

    Dubbo负责服务的提供和消费,Zookeeper作为注册中心实现服务的发现和管理,而Spring Boot则提供了一个便捷的开发环境。在实际应用中,还需要注意服务的版本管理、容错处理、调用链跟踪等高级特性,以确保系统的稳定...

    dubbo中文文档用户手册

    管理员手册:这部分主要面向系统管理员和运维人员,介绍了如何部署和管理Dubbo集群,包括ZooKeeper注册中心的配置、监控中心的搭建、性能调优、故障排查等实战技巧。管理员手册还涵盖了如何在生产环境中确保服务的...

    dubbo官方指南

    《Dubbo官方指南》是为Java开发者提供的一份详尽的Dubbo框架使用手册,它涵盖了从基础概念到高级特性的全面介绍。Dubbo是一款由阿里巴巴开源的高性能、轻量级的服务治理框架,旨在提高微服务架构中的服务发现、调用...

    Java高级架构必备知识点

    - **Dubbo控制台及监控中心的安装部署**:部署Dubbo监控中心,实现服务治理。 **7.20 NIO技术之-Netty** - **NIO基本概念及BIO、AIO的对比分析**:理解NIO、BIO和AIO之间的区别。 - **Netty实现IM聊天系统**:基于...

    详解SpringBoot开发案例之整合Dubbo分布式服务

    例如,配置 Dubbo 监控、应用信息、Zookeeper 注册中心、服务提供者以及 Dubbo 协议等。启动类通过 `@ImportResource` 注解引入该配置文件。这种方式虽然直观,但增加了代码的复杂性,且不易于维护。 随着 ...

Global site tag (gtag.js) - Google Analytics