这个地方这样实现估计很多注册中心可能会有点问题,就以etcd为例子 GET和Watch不是一个原子性的操作 如果再GET和watch中间下游有变动就可能会有问题,
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对您提出的关于使用etcd作为注册中心时,GET和Watch操作非原子性可能引发的问题,我们可以从以下几个方面进行分析与建议:
问题理解: 您提到的GET和Watch操作非原子性问题,意味着在执行GET获取当前服务列表后,到开始Watch监听变更之间的这段时间,如果下游服务发生变动,新变动的信息可能会被错过。这确实是一个潜在的风险点,尤其是在高动态的服务环境中。
缓解措施:
架构设计建议:
注意事项:
综上所述,虽然etcd的GET和Watch操作非原子性带来了挑战,但通过合理的策略和技术手段,可以有效减轻这一问题带来的影响,并确保服务注册与发现的可靠性。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。