本文共 607 字,大约阅读时间需要 2 分钟。
高可用系统架构 ----资源隔离、限流、熔断、降级、运维监控
资源隔离:让你的系统里,某一块东西,在故障的情况下,不会耗尽系统所有的资源,比如线程资源
实际的项目中的一个case,有一块东西,是要用多线程做一些事情,小伙伴做项目的时候,没有太留神,资源隔离,那块代码,在遇到一些故障的情况下,每个线程在跑的时候,因为那个bug,直接就死循环了,导致那块东西启动了大量的线程,每个线程都死循环 最终导致我的系统资源耗尽,崩溃,不工作,不可用,废掉了资源隔离,那一块代码,最多最多就是用掉10个线程,不能再多了,就废掉了,限定好的一些资源
限流:高并发的流量涌入进来,比如说突然间一秒钟100万QPS,废掉了,10万QPS进入系统,其他90万QPS被拒绝了,这90万,再刷新页面,可能刷10次会出来1次,这也保证系统不会止于挂了。
熔断:针对于单个服务,当某一服务出现了过载现象,为防止造成整个系统故障,从而采用的一种保护措施。直接关闭该服务(比较暴力)或者保证部分请求成功,另一部分直接返回失败(不占用服务资源),eg.如果5秒钟之内连续请求失败次数达到20次,那么触发熔断机制,过滤60%的请求。
降级:针对于整体服务,整体负荷超出整体负载承受能力时,延迟或暂停非重要服务,例如日志收集服务,保证重要服务正常运行。
运维监控:监控+报警+优化,各种异常的情况,有问题就及时报警,优化一些系统的配置和参数,或者代码
转载地址:http://thelf.baihongyu.com/