zoukankan      html  css  js  c++  java
  • 高可用、高并发浅析

    概念解析:

    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. 究竟啥才是互联网架构“高并发”
  • 相关阅读:
    7月的尾巴,你是XXX
    戏说Android view 工作流程《下》
    “燕子”
    Android开机动画bootanimation.zip
    戏说Android view 工作流程《上》
    ViewController里已连接的IBOutlet为什么会是nil
    My first App "Encrypt Wheel" is Ready to Download!
    iOS开发中角色Role所产生的悲剧(未完)
    UIScrollView实现不全屏分页的小技巧
    Apple misunderstood my app,now my app status changed to “In Review”
  • 原文地址:https://www.cnblogs.com/jade640/p/6877332.html
Copyright © 2011-2022 走看看