1. 程式人生 > >Dubbo-admin無法顯示Group分組信息

Dubbo-admin無法顯示Group分組信息

address 找到 cli ber xmlns list spa 圖片 hid

背景:

在首次使用Dubbo的時候。我們可能都會使用Dubbo-admin來監控服務的提供者和消費者,可是在自己的生產者成功執行的時候。在Dubbo-admin卻看不到不論什麽信息。假設在確保代碼的正確無誤。無法解決問題,有可能是由於Group造成的,即是在進行註冊的時候,在註冊中心加入了分組。

解決

1、在服務提供者不加入group分組信息的時候,會默認註冊到zookeeper的dubbo組下.

在zookeeper的bin文件夾下(我的是/data/home/server/zookeeper-3.4.6/bin)。使用例如以下命令進入client:

./zkCli.sh -server 127.0.0.1
:2181

成功進入之後。顯演示樣例如以下:

技術分享

使用ls / 顯示已經存在的節點信息:

技術分享

能夠看到在默認的時候僅僅有dubbohe zookeeper(LTS 是後期進行的分組)

註:能夠使用get /dubbo來查看dubbo節點信息,還有其它命令。詳見:http://zookeeper.apache.org/doc/r3.4.6/zookeeperStarted.html

2、執行生產者,將dubbo服務註冊到不同的組中:

<dubbo:application name="${zkServiceAppName}" owner="allen.xu" organization="MyPIP"
/>
<dubbo:registry address="${zookeeper}" timeout="500000" group="${jhd.group}" id="mypip_id"/> <!-- 暴露出去的接口--> <bean id="airlineWhiteListFacade" class="com.flightroutes.flight.oms.facade.oms.impl.AirlineWhiteListFacade"/> <dubbo:service ref="airlineWhiteListFacade"
interface="com.flightroutes.flight.oms.facade.oms.IAirlineWhiteListFacade" version="1.0.0" cluster="failfast" executes="10" timeout="500000" registry="mypip_id">
</dubbo:service>
zookeeper=zookeeper://127.0.0.1:2181
dubbo.port=30889
dubboLog.level =9

#mypip
zkServiceAppName=Jhd_Security
mypip.group=JhdGroup

能夠看到我在代碼中加了一個分組信息。jhd.group。為JhdGroup,將生產者部署之後再次查看zookeeper註冊中心

技術分享

3、在zookeeper祖冊中心能夠看到,可是在dubbo-admin中並沒有監控的解決方法。

在註冊中心已經有該分組信息,可是在dubbo-admin看不到信息,這是由於在dubbo-admin默認查找節點的時候會在dubbo這個節點上找,所以僅僅要是你的group名為dubbo是能夠查看到(默認的也是dubbo)。

須要改動兩個內容:

  • dubbo.propertoes加入分組配置,當中第二行就是須要加入的分組
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.registry.group=JhdGroup
dubbo.admin.root.password=
dubbo.admin.guest.password=
  • 在dubbo-admin/webapps/ROOT/WEB-INF/classes/META-INF/spring文件夾下的dubbo-admin.xml

在registry這一行中加入group=”${dubbo.registry.group}”,例如以下:

<dubbo:registry address="${dubbo.registry.address}" group="${dubbo.registry.group}"  check="false" file="false" />

最後就能夠在dubbo-admin中查找到該分組信息了

Dubbo生產者消費者配置文件

1、生產者配置文件

<?

xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <dubbo:application name="${zkServiceAppName}" owner="allen.xu" organization="MyPIP"/> <dubbo:registry address="${zookeeper}" timeout="500000" group="${mypip.group}" id="mypip_id"/> <!-- 暴露出去的接口--> <bean id="airlineWhiteListFacade" class="com.flightroutes.flight.oms.facade.oms.impl.AirlineWhiteListFacade"/> <dubbo:service ref="airlineWhiteListFacade" interface="com.flightroutes.flight.oms.facade.oms.IAirlineWhiteListFacade" version="1.0.0" cluster="failfast" executes="10" timeout="500000" registry="mypip_id"> </dubbo:service> </beans>

2、生產者配置文件:

<?xml version="1.0" encoding="UTF-8"?

> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- consumer application name --> <dubbo:application name="consumer-of-sayHello-app" owner="allen.xu" organization="MyPIP"/> <!-- registry address, used for consumer to discover services --> <dubbo:registry address="zookeeper://127.0.0.1:2181" timeout="500000" group="${mypip.group}" id="mypip_id"/> <!--<dubbo:consumer timeout="5000"/>--> <!-- which service to consume?

--> <dubbo:reference id="airlineWhiteListFacade" interface="com.flightroutes.flight.oms.facade.oms.IAirlineWhiteListFacade" version="1.0.0" cluster="failfast" timeout="500000" registry="mypip_id"/> </beans>

完整Dubbo的使用案例:https://git.oschina.net/xuliugen/dubbodemo.git

Dubbo-admin無法顯示Group分組信息