系统架构师知识:高可用系统设计

时间:2022-05-14 12:01:08 系统架构师 我要投稿
  • 相关推荐

系统架构师知识:高可用系统设计

  高可用系统设计,常见于大中型互联系统架构设计。下面为大家整理了一些关于高可用系统设计的知识,一起来了解一下!

系统架构师知识:高可用系统设计

  1、系统可用性

  系统可用性定义:MTTF/(MTTF+MTTR) * 100%

  MTTF: mean time to failure,平均失效前时间,也就是正常运行的时间

  MTTR: mean time to restoration, 平均恢复前时间,也就是故障时间

  系统高可用性(High Availability)通常来描述一个IT系统经过专门的设计,减少计划和非计划停工时间,保持其服务的高度持续可用性。

  影响系统可用性的因素很多,包括硬件、软件、网络和环境(比如机房温度)等,除了常见的CPU、内存、IO、网络、锁等因素,还需要考虑各种支持设备和系统、非技术的因素,总之,系统可用性是一个综合因素影响的结果。

  2、高可用的模式

  系统高可用性的常用设计模式包括三种,包括:

  (1)、主备(Active-Standby)

  工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动(热备)或手动(冷备)方式将服务切换到主机上运行。一般需要人工干预才能回复初始状态。

  (2)、互备(Active-Active)

  工作原理:两台主机(A标记为主,B标记为备)同时运行各自的服务工作且相互监测情况,当任一台主机(A)宕机时,另一台主机(B,启用并标记为主)立即接管它的一切工作,保证工作实时可用

  (3)、集群(Cluster)

  工作原理:多台具有相同能力的服务同时对外提供透明服务,所有服务之间都是Active-Active关系,并分担处理服务请求,一般通过总控节点或集群软件(例如zookeeper等)进行高可用的控制。

  3、高可用的设计

  高可用的设计没有完美的标准答案。但是根据工程经验,我们可以总结出高可用设计的一个重要指标:

  不要有单点。

  不要有单点。

  不要有单点。

  如果是在设计开发实现和维护大中型web系统,通常我们会从互联系统中最容易出现问题,同时也最不容易横向扩展的节点下手(包括网络和存储系统),排查并解除系统中的薄弱环节,争取保证整个系统中绝不出现单点这一死角,或者出现单点,但也可以通过成熟的优化手段(缓存、队列、sharding、负载均衡和异地容灾等)实现高可用。

  你可能还是会有疑问:是不是系统中没有单点了保证高可用了就一定不出事情了呢?

  答案是,还是可能会出事,而且可能都是大事。今年的黑色五月份的几起重大IT事故,无情地告诉我们,再高明的设计,碰到物理破坏或者权限控制不当而误操作或者DDoS都有可能让开发和设计人员的所有心血付之东流。

【系统架构师知识:高可用系统设计】相关文章:

如何成为优秀的系统架构师08-30

嵌入式系统基础知识10-28

消化系统疾病的检验知识08-27

游戏的任务系统设计思路汇总12-16

外科各系统疾病护理常规知识08-26

2022音响设备与系统基础知识大全04-28

计算机系统的安全技术知识11-11

ERP系统物料清单设计小技巧04-04

物流系统的功能介绍09-08

Linux cpuinfo系统详解07-29