Apollo高可用设计分析
分析 设计 可用 Apollo
2023-09-14 09:14:13 时间
高可用是分布式系统架构设计中必须考虑的因素之一,它通常是指通过设计减少系统不能提供服务的时间。
Apollo 在高可用设计上下了很大的功夫,下面我们来简单的分析下:
1)某台Config Service 下线
无影响,Config Service 可用部署多个节点。
2)所有 Config Service 下线
所有 Config Service 下线会影响客户端的使用,无法读取最新的配置。可采用读取本地缓存的配置文件来过渡。
3)某台 Admin Service 下线
无影响,Admin Service 可用部署多个节点。
4)所有 Admin Service 下线
Admin Service 是服务于 Portal,所有 Admin Service 下线之后只会影响 Portal 的操作,不会影响客户端,客户端是依赖 Config Service。
5)某台 Portal 下线
Portal 可用部署多台,通过 Nginx 做负载,某台下线之后不影响使用。
6)全部 Portal 下线
对客户端读取配置是没有影响的,只是不能通过 Portal 去查看,修改配置。
当配置的数据库宕机之后,对客户端是没有影响的,但是会导致 Portal 中无法更新配置。当客户端重启,这个时候如果需要重新拉取配置,就会有影响,可采取开启配置缓存的选项来避免数据库宕机带来的影响。
通过上面的分析,我们可以看出 Apollo 在可用性这块做得确实不错,各种场景会发生的问题都有备用方案,基本上不会有太大问题,大家放心大胆地使用吧。
相关文章
- ABP源码分析十六:DTO的设计
- MapReduce V1:TaskTracker设计要点概要分析
- 数据库分析与设计总结
- Universal-Image-Loader源码分析,及常用的缓存策略
- 如何分析APP功能需求、结构
- Python 做个小爬虫对CSDN热榜变冷榜的指标数据进行分析
- 对于PowerDesigner中设计表自动生成Sql的分析
- Atiitt 软件设计之道 attilax著 1. 总概念 隶属于软件工程。。2 2. 需求分析3 3. 设计分类3 3.1. 按照力度 总体设计架构设计 概要设计 详细设计3 3.2.
- SAP UI5 应用在 Business Application Studio 里的构建单步分析
- Crack:结构分析和设计软件:Cross Section Analysis-Design
- Java 多线程(二)启动线程的三种方式和源码分析
- 【Linux 内核 内存管理】内存映射相关数据结构 ④ ( vm_area_struct 结构体成员分析 | vm_ops 成员 | vm_operations_struct 结构体成员分析 )
- 【Android 逆向】Android 系统文件分析 ( cmdline 系统启动参数文件 | crypto 密码算法信息文件 | devices 设备信息文件 )
- 股票软件、股票分析、股票推荐、股票监控提醒、股票策略、股票盈利方法
- AI芯片:寒武纪NPU设计分析(DianNao)
- nginx源代码分析--高性能server开发 常见的流程模型
- 【设计和算法分析】3、二进制搜索
- 第二人生的源码分析(六十三)类Multi实现多请求
- 从一只骡子与测试员的故事,分析性能、压力和容量测试的区别
- go mux源码分析
- 电路方案分析(十四)汽车电动座椅参考方案设计(H桥,高低边驱动器设计)
- 嵌入式小项目练习-光电设计竞赛-寻迹小车-03-寻迹算法分析与源代码
- 实验五、UML动态建模之活动图分析与设计【PowerDesginer】
- 【灵敏性】用于二维和三维声学设计灵敏度分析的奇异边界法(Matlab代码实现)
- 覆盖和覆盖D2D通信网络的传输容量分析(Matlab代码实现)
- “一只股票一张表”, TDengine 在青岛金融研究院量化分析场景中的应用
- Matlab/Simulink:动态系统模型的表示及仿真分析基础
- 【算法设计与分析】再探大O渐近表示法 | 增长顺序 | Big O | Big Omega | Big Order