如何设计高可用架构

高可用复杂度模型

       计算高可用     

                      任务分配   任务分配给多个服务器执行  

                                        与高性能的区别在于监控服务器状态,进行故障切换

                                        状态检测   运行形态 配置获取 分配算法

                      任务分解     拆分不同角色 不同角色处理不同业务

                                        与高性能的区别在于 需要监控状态 故障切换

                                         任务分解的高可用在于一旦发生故障可以降低影响,保持部分功能可用。

                                        任务分解 状态检测   运行形态 配置获取 分配算法

       存储高可用

                       数据复制   

                               复制格式   命令 实现简单,数据量小;  数据可能不一致 ; 增量复制。

                                                数据  实现简单,数据一致,数据流量大;增量复制。

                                                文件  实现复杂,数据一致,数据流很大;全量复制。

                               复制方式 

                                            同步   最强一致性,故障容忍度低,写入性能低。 主从架构。

                                            异步   写入性能高,故障容忍高。数据存储集群。

                                            半同步   同步异步的折中方案。数据存储集群

                                            多数同步   数据强一致性,最强可用性,故障容忍度高;写入性能不高;实现复杂。   分布式一致性,分布式协同。

                       状态决策   

                                     独裁   决策逻辑简单;决策者需要高可用,整体结构复杂;数据一致性强度中等

                                     协商    架构简单,决策简单,一般心跳机制。双主时使用双通道解决。数据一致性弱。

                                     民主   决策过程复杂,决策逻辑复杂;可用性最高,数据一致性最强;脑裂问题,quorum。

鸡蛋篮子第三法则   ---冗余法则

        不要把鸡蛋都装在一个篮子里,放到多个篮子里

 

 

 

 

 

 

 

 

        高可用 必然时集群方案

 

posted on   李某人的窥视  阅读(48)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

点击右上角即可分享
微信分享提示