Dubbo注册中心选用及DubboAdmin

本文详细介绍了Dubbo注册中心的选择,对比了Redis和Zookeeper的使用情况,并重点讲解了DubboAdmin的下载安装、配置以及启动流程,帮助用户管理和查看Dubbo服务信息。

一 注册中心

上一篇博客《Dubbo调用示例》演示中的注册中心是redis,其实用Zookeeper更为广泛。

Redis:
采用K/V 形式进行存储,基结构如下:

  • key:/dubbo/com.snowman.service.DemoService/providers
    value:dubbo://192.168.192.1:20880/com.snowman.service.DemoService
  • key:/dubbbo/com.snowman.service.DemoService/consumers
    value:dubbo://192.168.192.1:20880/com.snowman.service.DemoService
  • key:/dubbbo/com.snowman.service.DemoService/routers
  • key:/dubbbo/com.snowman.service.DemoService/configurators
    并基于 Redis 的 Publish/Subscribe 事件通知数据变更,其模型如下:
    订阅:
    在这里插入图片描述
    推送变更:
    在这里插入图片描述
    调用过程:
  1. 服务提供方启动时,向 Key:/dubbo/XXXServer/providers 下,添加当前提供者的地址
  2. 并向 Channel:/dubbo/com.foo.BarService/providers 发送 register 事件
  3. 服务消费方启动时,从 Channel:/dubbo/com.foo.BarService/providers 订阅 register 和 unregister 事件
  4. 并向 Key:/dubbo/com.foo.BarService/providers 下,添加当前消费者的地址
  5. 服务消费方收到 register 和 unregister 事件后,从 Key:/dubbo/com.foo.BarService/providers 下获取提供者地址列表

Zookeper:
是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用
在这里插入图片描述
流程说明:

  1. 服务提供者启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地址
  2. 服务消费者启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
  3. 监控中心启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地址

二 DubboAdmin

已经注册的服务信息如何查看,dubbo官方给出一个后台管理系统Dubbo-admin方便我们进行操作,不仅可以查看,也可以进行更改配置,如负载均衡算法等。

1.下载安装

github下载dubbo-admin地址:https://github.com/apache/incubator-dubbo/tree/dubbo-2.6.0 (注:2.6.1开始的版本没有dubbo-admin)

在dubbo-admin目录下,构建admin war 包

mvn pakcage -Dmaven.skip.test=true

构建完成后进入生成的target文件夹,找到dubbo-admin-2.6.0.war,把它放到tomcat的webapps目录下,启动tomcat,自动生成dubbo-admin-2.6.0文件夹

2.配置

修改在dubbo-admin-2.6.0/WEB-INF的dubbo.properties

dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

第一行注册中心地址要与服务程序配置文件中的配置一致。
第二行配置root账号下的密码。
第二行配置guest账号下的密码。
注:第二、三行的意思不是登录账号为root、密码为guest,它俩都是密码,只是在不同的账号情况下。源代码写了一个if语句,判断是root账号还是guest账号,没有没得账号的。(当初也算是粗心没看清,折腾半天没登录上)

3.启动

启动zookeeper,重启tomcat
访问dubbo-admin-2.6.0(它就是个web项目),输入账号密码即可登录
在这里插入图片描述
演示demo课参考(《Dubbo调用示例》)[],把注册中心从redis换成zookeeper,再改下IP端口就行了
启动服务提供者Provider和服务消费者Consumer。
在页面admin的SEARCH搜索对应的接口名就能看到注册信息了
在这里插入图片描述

demo:https://github.com/soarsnowman/dubbo.git

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值