业务开展和高速发展的基础是业务系统的稳定。那么如何才能实现业务系统的高可用呢?
首先介绍一下什么是“高可用性”,可用性是用来表示服务的可用的时间段以及系统响应用户需求所需要的时间。高可用性即表示该系统能够在固定时间段内提供高水平的操作性能。
以下简单介绍了常用的几种高可用策略:
首先,像网关、服务器、南宫NG·28库等都会多做副本,避免把鸡蛋放进同一个篮子。如网关、应用服务器这类无状态的,多做副本相对来说是比较好做的。而像南宫NG·28库、缓存服务器这类有状态的,在南宫NG·28备份时,无疑会涉及到南宫NG·28一致性的问题。
而南宫NG·28一致性又是与可用性相违背的。出于南宫NG·28后期大多是能够修复的,通常情况下,会选择牺牲部分南宫NG·28一致性来保障系统的可用性。
其次,为了避免雪球效应,应当对系统资源进行分区隔开,限定故障发生时故障的影响范围。主要有以下几种形式:对南宫NG·28进行分开存储,如核心南宫NG·28可以和非核心南宫NG·28在物理层面上彻底分离开来;机器隔离,对调用占比大的客户提供单独的机器进行服务;线程池隔离,为了避免响应慢、服务器卡死,为每个服务提供一个线程池;信号量隔离。
另外,类似于保险丝对电路的一个保护作用,在系统设计时也要有这样一个概念。当服务器短期内频繁出现超时或者报错现象,就断开不再调用;另一种就是当平均统计时间超过哟阈值就开启熔断。同时,在系统压力濒临最大承受界限时,可以选择把非核心业务暂停,从而保障核心业务的开展。
此外,在新功能或者新系统上线时,实施灰度发布,在前期,新功能或者新系统仅对部分用户可见,确定没有问题再全部发布。另外如果发现新功能或者新系统有较严重的问题发生,可以回滚为旧系统。而且可以通过监控来实现实时系统状态掌控,如资源、系统、业务的运行情况。
最后,日志通常来说能够对系统问题进行快速的定位,但我们更应该利用日志的主动报警来解决问题。在前期代码编辑时,对可能发生的问题提前写好日志,针对这些问题进行日志监控,实现主动报警。
及时响应,快速服务,为您保驾续航
立即注册