Haochen Dong

Results 4 comments of Haochen Dong

是的,是两个不同的节点,告警节点正常运行,关闭的是一个处理消息的一个节点

我也遇到了,请问是否表现为,服务运行一段时间,突然在一个时间点心跳等报表信息都没有了,重启服务或者重启上报的cat节点会重新恢复

> 我们也遇到了,Python、js都有这个问题,感觉是非java客户端都不行,希望早点解决 找到问题了,因为我们cat的server端新节点的port跟原来的不一样(比如原来的节点都是8080,后面新加的节点是8081) python客户端: 初次请求路由列表信息的url,会使用本地文件(client.xml)中写的ip和http请求的port组成请求url,后续获取到路由表信息后,虽然下次请求的url中的ip会根据获取到的路由表中的ip变化(此逻辑跟JAVA客户端不同),但是port不会(因为路由表中也确实只指定了日志上报的2280端口),此时请求失败时会将g_cat_send_failedFlag设置为0(会在发送message至server端时使用该参数作为判断条件),这造成了我出现的问题 JAVA客户端: 初次请求跟python客户端应该是相同逻辑,后续请求URL一直使用的是本地文件(client.xml)中的,只要不改变原本的节点就没有事情,即便全部修改了(请求不到最新的router信息),client端还会有一份router缓存,应该没有像python客户端一样,将获取router失败作为发送message的条件 希望能够帮助到你!

补充一下: python获取路由信息的相关代码在这里lib/c/src/ccat/server_connection_manager.c:377,updateCatServerConn()方法 python发送message到server的代码在这里lib/c/src/ccat/message_sender.c:137,sendCatMessageBufferDirectly()方法