网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

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

栏目: 系统架构师 / 发布于: / 人气:2.06W

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

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

  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都有可能让开发和设计人员的所有心血付之东流。

Tags:架构师 系统