高可用的常见实现策略

时间:2019-08-01 栏目:

业务开展和高速发展的基础是业务系统的稳定。那么如何才能实现业务系统的高可用呢?

首先介绍一下什么是“高可用性”,可用性是用来表示服务的可用的时间段以及系统响应用户需求所需要的时间。高可用性即表示该系统能够在固定时间段内提供高水平的操作性能。

以下简单介绍了常用的几种高可用策略:

首先,像网关、服务器、数据库等都会多做副本,避免把鸡蛋放进同一个篮子。如网关、应用服务器这类无状态的,多做副本相对来说是比较好做的。而像数据库、缓存服务器这类有状态的,在数据备份时,无疑会涉及到数据一致性的问题。

而数据一致性又是与可用性相违背的。出于数据后期大多是能够修复的,通常情况下,会选择牺牲部分数据一致性来保障系统的可用性。

其次,为了避免雪球效应,应当对系统资源进行分区隔开,限定故障发生时故障的影响范围。主要有以下几种形式:对数据进行分开存储,如核心数据可以和非核心数据在物理层面上彻底分离开来;机器隔离,对调用占比大的客户提供单独的机器进行服务;线程池隔离,为了避免响应慢、服务器卡死,为每个服务提供一个线程池;信号量隔离。

另外,类似于保险丝对电路的一个保护作用,在系统设计时也要有这样一个概念。当服务器短期内频繁出现超时或者报错现象,就断开不再调用;另一种就是当平均统计时间超过哟阈值就开启熔断。同时,在系统压力濒临最大承受界限时,可以选择把非核心业务暂停,从而保障核心业务的开展。

此外,在新功能或者新系统上线时,实施灰度发布,在前期,新功能或者新系统仅对部分用户可见,确定没有问题再全部发布。另外如果发现新功能或者新系统有较严重的问题发生,可以回滚为旧系统。而且可以通过监控来实现实时系统状态掌控,如资源、系统、业务的运行情况。

最后,日志通常来说能够对系统问题进行快速的定位,但我们更应该利用日志的主动报警来解决问题。在前期代码编辑时,对可能发生的问题提前写好日志,针对这些问题进行日志监控,实现主动报警。

及时响应,快速服务,为您保驾续航

立即注册

请先完成图形验证

验  证  码:

请先完成图形验证

验  证  码:

隐私声明
当您在本网站进行合作伙伴注册登记,本网站将收集您的相关信息,并保存记录。本网站收集的个人信息包括但不限于:姓名、地址、公司、所在地区、电话号码以及电子邮件地址等。您主动提供的信息越多及越准确,我们就能够更好地为您提供有关服务。
咨询·购买