前提
技术背景:Nacos1.2.0+dubbo2.7.4.1
Provider服务已经成功注册到Nacos服务列表,但是Consumer调用Provider的时候,仍然报以下错误:
No provider available from registry 172.16.68.88:8848 for service ** on consumer 172.16.68.220 use dubbo version 2.7.4.1, please check status of providers(disabled, not registered or in blacklist)
寻找问题
跟踪了服务调用过程
http://dubbo.apache.org/zh-cn/docs/source_code_guide/service-invoking-process.html
发现了异常日志抛出的地方。可见,当forbidden为true时,会抛出该异常信息forbidden的初始值为false那么什么地方将他改变为true了呢
如下图所示refreshInvoker方法在协议头为empty的是否会把forbidden置为true,在哪里置成为empty并调用该方法呢?