杨翊 SionYang

Results 398 comments of 杨翊 SionYang

Error: Failed to execute goal org.apache.rat:apache-rat-plugin:0.12:check (default) on project nacos-config: Too many files with unapproved license: 1 See RAT report in: /home/runner/work/nacos/nacos/config/target/rat.txt -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal...

> > The test case seems not pass > > before start run test with encoder, might set the os system as window to triggle encoder and reset the os...

如果推送失败, 必须要进行无限次数的重新推送,直到推送成功,保证客户端订阅者和服务端之间的数据一致性,这是必须的机制,除非该客户端告知服务端不再订阅这部分数据,或连接断开。 建议你排查你的客户端为什么处理不了服务端的推送数据(比如CPU高、fullGC,类冲突等),或者网络是不是存在问题,导致推送数据一直不可达,或者客户端回的ack一直不可达。

补充一下, 为什么UDP推送只重试2次: 因为UDP本身就是不保证送达的协议,因此从设计上,UDP协议仅作为补偿方式,1.X的客户端核心是依赖轮训查询的方式获取最新服务列表,因此UDP不是核心手段,只需要重试2次; 但是RPC推送是核心的手段,由于长连接和TCP链接的特性, 使用主动推送的方式更能提高性能和节约资源,且能保证送达,因此作为核心手段;同时作为核心手段,必须保证其数据的一致性,推送失败必须要重试,直至成功。

仔细看这个逻辑, 配置中心在超过重试此时之后,会尝试断开链接, 断开链接之后,客户端如果还正常,会尝试重连,重连之后会重新订阅,然后会重新推送; 这也就意味着其实还是无限次推送,直到推送数据成功。 注册中心之所以不进行连接断开, 是因为连接中不仅保存着订阅的信息,还保留着注册服务的信息, 如果断开链接会导致服务掉线。

https://nacos.io/docs/latest/guide/admin/nacos2-naming-benchmark/ 使用nacos-client进行压测 如果要自行模拟请求测试的话, 需要先把连接上之后,先发起ConnectionSetupRequest,注册上连接信息,之后再发起正常的请求。期间需要一直保持HealthCheck

自行创建的GrpcSdkClient的话,需要您自行管理哈,从报错上看是使用grpc的方式出错了。 建议直接创建NacosNamingSerivce和NacosConfigService进行测试

Client not connected, current status:STARTING 说明客户端没连上服务端, 排查一下配置是否正确,比如host,端口,以及网络本身是否正常。

那就不清楚了,社区的压测也是拿jmeter构建nacos-client进行的。