zookeeper 认证_通过zookeeper查看dubbo接口服务提供方

在使用dubbo的过程中,我们经常会遇到以下两类问题:

1.明明注册了dubbo接口服务,但是业务方一调用就说接口调不同,提示forbid consumer access service

com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.26.33.175 access service com.aaa.bbb.api.service.RewardConfigFacade from registry zk01-test.aaa.com:3298 use dubbo version 2.1.2, Please check registry access list (whitelist/blacklist).

那么如何快速自证确实有注册该接口服务呢?

2.环境没有做好隔离,不同环境的机器注册到同一个zk上了,导致接口返回的结果出现诡异现象。那么如何快速找出机器IP

其实这两个问题,归根到底都是一个问题,即如何在zookeeper上查看指定接口的提供方?

d7bc1138b434da6d8934b1c7943e00c8.png

  1. 安装zookeeper

    链接:https://blog.csdn.net/weixin_33207551/article/details/86521905

  1. 准备材料

    zookeeper信息如下:

address: zk01-test.aaa.com:3298  group: /home/xxx/dubbo          username: home                       password: 123456                    

需要查看的注册接口

com.aaa.ccc.api.PeoplePackageFacade
  1. 链接zookeeper服务器
    /* 命令格式:zkCli -server zookeeper地址 */命令:zkCli -server zk01-test.aaa.com:3298

    登录成功后的页面如下:

     zhanxiaotong@zhanxiaotongdeMacBook-Pro-2  ~  zkCli -server zk01-test.aaa.com:3298Connecting to zk01-test.aaa.com:3298Welcome to ZooKeeper!JLine support is enabledWATCHER::WatchedEvent state:SyncConnected type:None path:null[zk: zk01-test.aaa.com:3298(CONNECTED) 0]
  2. 添加认证用户
    /* 命令格式:addauth digest 用户名:密码 */命令:addauth digest home:123456
  3. 查看用户所在组下注册的接口
    /* 命令格式:ls 组名 */命令:ls /home/xxx/dubbo

    如下是命令返回结果

    [zk: zk01-test.aaa.com:3298(CONNECTED) 1] ls /home/xxx/dubbo[com.aaa.ccc.api.PeoplePackageFacade, com.aaa.bbb.business.quality.facade.XXXFacade]

    如果该命令返回的结果中没有我们提供的接口,那么说明我们的接口并没有注册这个zk上,因此需要看看看看我们的代码以及配置是否有问题。如果有我们提供的接口,则需要继续往下执行。

  4. 查看接口的服务提供方
    /* 命令格式:ls 组名/接口全路径/providers */命令:ls /home/xxx/dubbo/com.aaa.ccc.api.PeoplePackageFacade/providers

    如下是命令返回的结果

    [dubbo%3A%2F%2F10.126.200.6%3A10732%2Fcom.aaa.ccc.api.PeoplePackageFacade%3Fanyhost%3Dtrue%26application%3Dtest-aaa.bbb.cc.com%26default%3Dtrue%26default.retries%3D1%26default.service.filter%3DmlsProviderFilter%2CiprdDubboFilter%26default.timeout%3D3000%26default.version%3D1.0.1%26dispatcher%3Dmessage%26dkimi.app%3Dtest-aaa.bbb.cc.com%26dubbo%3D2.1.2%26generic%3Dfalse%26interface%3Dcom.aaa.ccc.api.PeoplePackageFacade%26logger%3Dslf4j%26methods%3DqueryEmployeeDataListByPackageCode%2CqueryPeoplePackageInfoListByRoleCode%2CqueryEmployeeDataListByPackageCodeAndPt%2CfilterPackageByCityCode%2CqueryUcIdListByPackageCode%2CqueryPeoplePackageInfoByUcId%2CqueryPeoplePackageInfoByUcIdAndRoleCode%2CfilterPeoplePackageCodeByUcId%2CqueryPeoplePackageInfoByPackageCode%26organization%3Dfang-rd%26pid%3D9937%26revision%3D1.0.7-SNAPSHOT%26side%3Dprovider%26timestamp%3D1603528971648%26version%3D1.0.0, dubbo%3A%2F%2F10.126.134.66%3A10751%2Fcom.aaa.ccc.api.PeoplePackageFacade%3Fanyhost%3Dtrue%26application%3Dagent-info-broadcast%26default%3Dtrue%26default.retries%3D1%26default.service.filter%3DmlsProviderFilter%2CiprdDubboFilter%26default.timeout%3D5000%26default.version%3D1.0.1%26dispatcher%3Dmessage%26dubbo%3D2.1.2%26generic%3Dfalse%26interface%3Dcom.aaa.ccc.api.PeoplePackageFacade%26logger%3Dslf4j%26methods%3DqueryPeoplePackageInfoListByRoleCode%2CqueryEmployeeDataListByPackageCode%2CqueryEmployeeDataListByPackageCodeAndPt%2CfilterPackageByCityCode%2CqueryUcIdListByPackageCode%2CqueryPeoplePackageInfoByUcId%2CqueryPeoplePackageInfoByUcIdAndRoleCode%2CfilterPeoplePackageCodeByUcId%2CqueryPeoplePackageInfoByPackageCode%26organization%3Dfang-rd%26pid%3D75032%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1603519844455%26version%3D1.0.0]

    从结果中,我们可以看到该zk上注册了com.aaa.ccc.api.PeoplePackageFacade接口服务的机器有两台,IP分别是10.126.200.6和10.126.134.66。

  5. 总结

    本文首先介绍工作中常见的两类dubbo问题,然后介绍了这两类问题的解决思路,即如何在zk上查看dubbo接口服务的提供方。最后希望对大家排查工作中的dubbo问题能有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值