微服务多活组件在技术架构设计时,存在单集群和多集群两种模式。
单集群模式,多个机房内的应用共享同一个注册中心集群,Provider 对所有机房的 Consumer 可见,微服务调用时按照一定的流量规则进行路由纠错,使 Consumer 调用到正确机房内的 Provider。当流量没有命中路由规则时,支持同机房优先调用,避免跨机房带来的 RT 增长。当某机房发生故障或局部 Provider出现故障时,根据一定的异常识别策略可以自动进行故障隔离。当机房内健康的 Provider 低于一定数量时,则同机房优先调用策略失效,随机调用到所有机房内的健康 Provider 节点,避免继续同机房调用流量压垮下游 Provider 应用。
多集群模式,应用固定访问本机房对应的一个注册中心集群。服务同步组件通过异步复制的方式,实时将所需的 Provider 服务同步到其他集群。基于跨注册中心的服务发现,微服务调用时就能按照一定的流量规则进行路由纠错,使 Consumer 调用到正确机房内的 Provider。当微服务调用没有命中路由规则时,可以同机房优先调用,避免跨机房调用带来 RT 增长。当某机房发生故障时,可以通过修改流量路由规则将故障机房微服务流量切 0,使得所有机房内的 Consumer 不再调用故障机房的 Provider。
以上内容摘自《应用多活技术白皮书》电子书,点击https://developer.aliyun.com/topic/download?id=8266 可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。