云原生最佳实践系列2:基于 MSE 云原生网关同城多活
内容提要
该文章介绍了同城多活架构的方案概述和应用场景,包括机房级的快速切换、非对等部署下的全局流量负载均衡和流量的精细化管控。通过云原生微服务引擎MSE产品,可以实现同城容灾多活微服务应用。适用于需要高可用、同城容灾和多活需求的微服务场景。文章还介绍了相关产品和部署架构。
延伸解读
同城多活的核心挑战与常见方案局限
文章指出同城多活架构面临三大难点:机房级快速切换、非对等部署下的全局流量负载均衡、流量精细化管控。常见实现方式依赖DNS,但DNS缓存导致难以实现秒级自动转移和全局负载均衡;若两个机房共用注册中心,则无法保证微服务调用单元内闭环。这些局限是选择MSE方案的重要背景。
MSE云原生网关的故障转移与负载均衡机制
云原生网关默认双可用区部署,并对关联服务节点建立主动健康检查,默认每2秒探测一次,支持TCP和HTTP探测。发现节点不健康时自动剔除,实现机房级故障的秒级自动转移。在非对等部署下,网关将两个集群的同名服务节点合并,基于合并后的节点数实施轮询等负载均衡策略,流量分配随节点健康状态动态调整。
注册中心隔离与流量精细化管控
每个集群部署一套MSE注册中心,应用启动时仅向本可用区的注册中心注册,从而保证微服务调用在可用区内闭环。在此基础上,结合云原生网关的多种流量路由能力,可实现蓝绿发布和灰度发布等策略。这种设计既提升了调用效率,也为流量的精细化管控提供了基础。
部署架构与资源准备要点
参考架构包含2个MSE注册配置中心、2个ACK集群和1个高可用MSE云原生网关,两个可用区共享1个NAT网关用于拉取镜像。操作前需注册阿里云账号并完成实名认证,购买按量付费资源,账户余额需大于100元,建议大于200元以覆盖部署后产生的费用。
Q&A
同城多活架构的主要难点是什么?
同城多活架构的主要难点包括机房级快速切换、全局流量负载均衡和流量的精细化管控。
如何通过MSE实现同城容灾多活微服务应用?
通过云原生微服务引擎MSE产品,配置注册中心并接入MSE网关,可以实现同城容灾多活微服务应用。
MSE云原生网关如何确保高可用性?
MSE云原生网关支持双可用区部署,即使一个可用区的节点出现故障,另一个可用区的节点仍可正常工作。
云原生网关的主动健康检查机制是怎样的?
云原生网关通过主动健康检查机制,默认每2秒检查节点健康,发现不健康节点后会自动剔除,实现机房级故障的秒级自动转移。
在非对等部署状态下,如何实现全局流量负载均衡?
云原生网关会将两个集群的同名服务合并,并在合并后的节点基础上实现多种负载均衡策略,从而实现全局流量负载均衡。
部署同城多活架构需要哪些前置条件?
需要注册阿里云账号并完成实名认证,以及购买按量付费资源,账户余额需大于100元。