高可用、高并发浅析

概念解析:

  1. 高可用HA(High Availability)是分布式系统架构中必须考虑的因素之一,它一般是指,经过设计减小系统不能提供服务的时间
    假设系统一直可以提供服务,那么该系统的可用性是100%。若是系统每运行100个时间单位,会有1个时间单位没法提供服务,那么该系统的可用性是99%。
  2. 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它一般是指,经过设计保证系统可以同时并行处理不少请求。高并发相关经常使用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。

如何实现:

  1. 高可用HA的实现。方法论上,高可用保证的原则是“集群化”,或者叫“冗余”:只有一个单点,挂了服务会受影响;若是有冗余备份,挂了还有其余backup可以顶上。有了冗余以后,还不够,每次出现故障须要人工接入恢复势必会增长系统的不可服务时间。因此,有每每是经过“自动故障转移”来实现系统的高可用
    总结:经过冗余+自动故障转移来保证系统的高可用特性。
  2. 高并发的实现。互联网分布式架构设计,提升系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)
    垂直扩展:提升单机处理能。垂直扩展的方式有两种:
    (1)加强单机硬件性能。例如:增长CPU核数如32核,网卡如万兆,硬盘如SSD,内存等。
    (2)提高单机架构性能。例如:使用Cache来减小IO次数,使用异步来增长单服务吞吐量,使用无锁数据结构来减小响应时间;
    水平扩展:只是增长服务器数量,就能线性扩充系统性能。水平扩展对系统架构设计是有要求的,如何在架构各层进行可水平扩展的设计,以及互联网公司架构各层常见的水平扩展实践,详细见参考文献【2】。

参考文献:

  1. 究竟啥才是互联网架构“高可用”
  2. 究竟啥才是互联网架构“高并发”
相关文章
相关标签/搜索