Apollo 怎样做高可用和故障转移?
查看完整题解
参考回答
直接回答
Config Service 和 Admin Service 可以做多副本。客户端访问失效节点时可切换尝试其他可达地址,暂时拿不到新值的实例仍可使用已加载配置或本地缓存。
讲清原理
环境中的服务副本通常接同一个逻辑 ApolloConfigDB,数据库另做高可用。Portal、Meta 和负载均衡入口也需要考虑故障。切换成功有前提,备选地址必须对调用者可达,要执行读取或发布,底层数据库也得能支撑对应操作。
例子与易错点
两台 Config Service 中一台故障时,客户端可以换到另一台。同一个环境的数据库写入失败时,增加 Config Service 副本也不能替 Admin Service 完成发布。
延伸阅读 Apollo Java 客户端为何保留磁盘缓存? · Apollo 暂时不可用时,应用会怎样降级? · 多个 Config Service 副本怎样保持配置一致?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。