[apache/dubbo]Dubbo3下扫描接口注册服务(zookeeper注册中)时告警问题

2024-05-24 704 views
7
Environment
  • Dubbo version: 3.1.2
  • Operating System version: mac m1
  • Java version: 17

Dubbo3下扫描接口注册服务时,由于会扫描(providers,configurators,routers)三个节点的服务,通常providers排在最后,这个时候

image

这段代码下会由于前面已经有缓存,会导致告警出现:

2022-11-14 10:26:51.161 WARN [main] org.apache.dubbo.registry.integration.RegistryDirectory:? - XXXX received empty address list with no EMPTY protocol set, trigger empty protection., dubbo version: 3.1.2, current host: 172.16.11.12, error code: 1-4. This may be caused by configuration , go to https://dubbo.apache.org/faq/1/4 to find instructions.

建议

image

将判断条件拆分这样就可以避免告警,不然当该服务有大量的消费者服务时,有非常多的告警出现;

回答

8

你这和不拆有啥区别么 不都是这俩个条件 image

3

你这和不拆有啥区别么 不都是这俩个条件 image

不一样的,localCached只有在invokerUrls有值得时候才会赋值,而之前是为空也会赋值

4

image image 这俩个有区别么? 都为true 才会进去 拆的有什么意义

8

image image 这俩个有区别么? 都为true 才会进去 拆的有什么意义

应为providers,configurators,routers,三个节点,正常情况下只会有一个有值,前面的条件判断,而就算invokerUrls为空也会对localCached赋值,现在只要调整一下条件,只有invokerUrls有值才会赋值,这样启动就不会触发告警;

2

可以提交个 PR

0

可以提交个 PR

10937