如何设计高可用架构

高可用复杂度模型

       计算高可用     

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

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

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

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

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

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

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

       存储高可用

                       数据复制   

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

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

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

                               复制方式 

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

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

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

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

                       状态决策   

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

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

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

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

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

 

 

 

 

 

 

 

 

        高可用 必然时集群方案

 

posted on 2022-10-05 12:02  李某人的窥视  阅读(59)  评论(0)    收藏  举报

导航