怎么理解SAE 对于应用升级过程中关于南北向流量的保障方案?
当服务 A 发布的时候,服务 A1 实例停机后,SLB 根据健康检查探测到服务 A1 下 线,然后把实例从 SLB 摘掉。实例 A1 依赖 SLB 的健康检查从 SLB 上摘掉,一般需 要几秒到十几秒的时间,在这个过程中,如果 SLB 有持续的流量打入,就会造成一些请 求继续路由到实例 A1,导致请求失败; 服务 A 在发布的过程中,如何保证经过 SLB 的流量不报错?请求失败的原因在于后端服务实例先停止掉,然后才从 SLB 摘掉,那 我们是不是可以先从 SLB 摘掉服务实例,然后再对实例进行升级呢? 按照这个思路,SAE 基于 K8S service 的能力给出了一种方案,当用户在通过 SAE 为应用绑定 SLB 时,SAE 会在集群中创建一个 service 资源,并把应用的实例 和 service 关联,CCM 组件会负责 SLB 的购买、SLB 虚拟服务器组的创建,并且把 应用实例关联的 ENI 网卡添加到虚拟服务器组中,用户可以通过 SLB 来访问应用实例; 当应用发布时,CCM 会先把实例对应的 ENI 从虚拟服务器组中摘除,然后再对实例进行 升级,从而保证流量不丢失。 这就是 SAE 对于应用升级过程中关于南北向流量的保障方案。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。