[alibaba/nacos]nacos2.0.3集群naming-push.log一致推送失败,其他日志均无报错。

2025-10-30 512 views
7

2023-07-07 11:38:07,024 ERROR [PUSH-FAIL] 20000ms, Service{namespace='prod', group='DEFAULT_GROUP', name='rdcl-base-server', ephemeral=true, revision=2}, reason=null, target=172.17.0.6

2023-07-07 11:38:11,427 ERROR [PUSH-FAIL] 20000ms, Service{namespace='prod', group='DEFAULT_GROUP', name='rdcl-live-server', ephemeral=true, revision=4}, reason=null, target=172.17.0.6

2023-07-07 11:38:16,931 ERROR [PUSH-FAIL] 20000ms, Service{namespace='prod', group='DEFAULT_GROUP', name='rdcl-user-server', ephemeral=true, revision=2}, reason=null, target=172.17.0.6

2023-07-07 11:38:33,143 ERROR [PUSH-FAIL] 20000ms, Service{namespace='prod', group='DEFAULT_GROUP', name='rdcl-gift-server', ephemeral=true, revision=2}, reason=null, target=172.17.0.4

2023-07-07 11:38:34,844 ERROR [PUSH-FAIL] 20000ms, Service{namespace='prod', group='DEFAULT_GROUP', name='rdcl-gift-server', ephemeral=true, revision=2}, reason=null, target=172.17.1.5

回答

9

试着加一下-Dcom.alibaba.nacos.client.naming.local.ip=xxx 也没解决

7

@KomachiSion Is it better if print full error stack trace?

Loggers.PUSH.error("[PUSH-FAIL] {}ms, {}, reason={}, target={}", pushCostTime, service, e.getMessage(), subscriber.getIp());

2

部署方式是docker方式,还需要提供什么日志信息吗?

9

推送失败正常,我们每天失败几十万

之所以失败,是因为服务发布不平滑,consumer 下线了,但是没有取掉订阅,之后 provider 也发布了,这个时候会推送给前面下线的 consumer,自然失败。

我们测试环境要求不严格,业务同学可能 idea 里启动,然后强停等,测试环境推送失败量非常大,而生产就没问题,量很少。

4

我这个是线上的 量很多呢?反而测试环境的少

8

我这个是线上的 量很多呢?反而测试环境的少

你查下,这些失败的 ip,是不是老的 consumer,如果是就忽略吧,或者验证下,是全部失败了还是偶尔失败。

4

正常服务器的IP 全是失败的 就没有成功的,之前是单机改成集群的,是不是data目录有缓存

1

正常服务器的IP 全是失败的 就没有成功的,之前是单机改成集群的,是不是data目录有缓存

你在 nacos server 上试试 telnet provider ip 端口,比如 telnet 172.17.0.6 20880 看看网络是否通的。

2

订阅者列表里都是空的 @ijustyce

3

看时间感觉都是UDP推送失败导致的,估计是UDP端口不通导致的。

3

UDP端口是随机的吧,这个target=172.17.0.6 IP 是不是需要是宿主机的IP @KomachiSion

5

ip是客户端上报的, ip获取的是所在系统的第一个非回环地址网卡ip。 这个需要你们环境自己确认。

0

建议客户端升级到2.x, 用了grpc双向流,推送稳定性高很多。