高可用系统,就是说要保证系统在几乎任务时候都要有正常运行,功能正常
我们来看下哪些情况会造成系统不可用
单机系统下的可用性问题,从nginx->tomcat->db/soa来看,单点问题会影响系统高可用,比如要是这个这个链路上其中一个单点挂了,那么整个系统都不可用了
所以引申出来主备/集群模式,防止单点问题
高并发场景下,请求过多也会因为后端瓶颈点引起整个系统down掉,
所以一般情况下应对高并发场景我们会限流,比如今年的英雄联盟抢票,周杰伦抢票
通过采用mq等队列形式削峰,保证后端系统不会down掉
熔断机制
容灾机制,多机房部署
综上所述:
1,主备/集群模式,防止单点
2,限流,削峰,防止后端压力过大
3,熔断机制,类似与限流
4,容灾机制,多机房/异地部署