-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用Helm部署在k8s,测试高可用,服务列表信息需要很长时间才能同步 #201
Comments
问题已收到。 r-nacos 内部有两个集群协议:raft与类distor协议。 服务列表需要等待较长时间,这个应该和distor协议实现机制有关。 之前也是知道主节变化切换期间,distor节点间有一小段时间内容存在不一致,不过没想到那么久。 理论上这个时间不应该这么久,5分钟这个时间应该是有提升空间的。 你们测试时服务数量与服务实例数量是多少? |
上面这些服务nacos-client 版本都是2.4.2吧? 这个场景的问题已经大体了解,我后面抽空看看能不能复现,如果可以复现的话会尽快处理。 |
是的,nacos-client都是2.4.2。 |
在本地直接运行集群不能复现,搭建个k8s环境运行后能成功复现,目前初步调整一版本后已经在本地修复这个问题。 这个问题的原因分析:
这个问题只会出现在使用grpc协议链接注册,因为http实例会每间隔注册一次,后续注册后信息会再次同步。 之前对集群的测试主要是通过本地集群运行,没有发现这个问题;后面对集群的调整尽量加上k8s环境测试。 |
r-nacos版本为v0.6.12,nacos-client的版本是2.4.2
我的系统运行在k8s环境,k8s有3个工作节点,准备使用r-nacos替换nacos,r-nacos 3个实例,一主两从,分别运行在三个K8s工作节点。
微服务使用headless的svc连接r-nacos, 配了3个实例,如:
spring.cloud.nacos.discovery.server-addr=r-nacos-0.rnacos-svc.cloud.svc.cluster.local:8848,r-nacos-1.rnacos-svc.cloud.svc.cluster.local:8848,r-nacos-2.rnacos-svc.cloud.svc.cluster.local:8848
系统可以正常运行。
但在测试高可用时,重启了主r-nacos所在的k8s节点,r-nacos切主很快,但各个r-nacos的服务列表会出现不同步,需要等待一段比较长的时间(没有观察准确的时间,起码5分钟以上),才能同步。
会导致在服务列表不同步的这段时间,微服务之间使用feign调用会报错,报找不到某些微服务的实例。
请问这种情况怎么处理?
The text was updated successfully, but these errors were encountered: