新入職此公司, 發現公司使用的框架原來是傳說中的分佈式的(原諒我之前在傳統公司工做,並遠離浪潮久矣), 使用過程當中發現各服務之間使用 dubbo 進行通訊. 特意總結下碰見的坑,爲之後總結經驗. 歡迎你們指正.api
1. com.alibaba.dubbo.rpc.RpcException: Forbid consumer 172.88.1.6 access service com.xxxx.open.trade.api.ElemeOpenTradeService from registry 192.168.101.24:2181 use dubbo version 2.5.3, Please check registry access list (whitelist/blacklist).
網上查了下, 碰見此類問題 , 總的來講就是一句話 服務端的接口 不讓訪問了, app
緣由1' 接口長時間無人訪問, 自動掛掉了, 我的沒碰見過,猜測是與服務端的配置有關係框架
2' 權限不匹配. 接口發佈過程當中 服務端定義了group="groupVIP", version="1.0" 等等屬性字段, 相應客戶端配置也須要定義group="groupVIP", version="1.0" --同服務端一致. 我就是由於group定義不匹配致使調用失敗 . 分佈式
附上dubbo使用配置信息url
服務端配置:spa
<dubbo:consumer check="false"/> <!-- 提供方應用信息,用於計算依賴關係 --> <dubbo:application name="open-api"/> <!-- 使用zookeeper註冊中心暴露服務地址 --> <!-- 到這裏調用 --> <dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" id="zookeeperClient"/> <!-- 用dubbo協議在33000端口暴露服務 --> <dubbo:protocol name="dubbo" port="33000" dispather="all" threadpool="cached" threads="5000" /> <!-- 聲明須要暴露的服務接口 --> <dubbo:service interface="com.wangshuyu.open.trade.api.OpenTradeService" ref="jdOpenTradeService" group="vip" version="1.0" registry="zookeeperClient" owner="wangsy" />
客戶端配置code
<dubbo:reference id="skuShopStockService" interface="com.wangshuyu.product.service.api.SkuShopStockService" check="false" version="1.0" url="" registry="zookeeperClient" protocol="dubbo" timeout="15000"/>