高可用系统架构(使用hystrix隔离、限流、熔断、降级)

资源隔离、限流、熔断、降级、运维监控

资源隔离:让你的系统里,某一块东西,在故障的情况下,不会耗尽系统所有的资源,比如线程资源

我实际的项目中的一个case,有一块东西,是要用多线程做一些事情,小伙伴做项目的时候,没有太留神,资源隔离,那块代码,在遇到一些故障的情况下,每个线程在跑的时候,因为那个bug,直接就死循环了,导致那块东西启动了大量的线程,每个线程都死循环

最终导致我的系统资源耗尽,崩溃,不工作,不可用,废掉了

资源隔离,那一块代码,最多最多就是用掉10个线程,不能再多了,就废掉了,限定好的一些资源

限流:高并发的流量涌入进来,比如说突然间一秒钟100万QPS,废掉了,10万QPS进入系统,其他90万QPS被拒绝了(线程池或信号量实现限流)

熔断:系统后端的一些依赖,出了一些故障,比如说mysql挂掉了,每次请求都是报错的,熔断了,后续的请求过来直接不接收了,拒绝访问,10分钟之后再尝试去看看mysql恢复没有

降级:mysql挂了,系统发现了,自动降级,从内存里存的少量数据中,去提取一些数据出来

运维监控:监控+报警+优化,各种异常的情况,有问题就及时报警,优化一些系统的配置和参数,或者代码

你可能感兴趣的:(高可用系统架构(使用hystrix隔离、限流、熔断、降级))