服务容错性设计

服务要有容错设计,为失败而设计。


服务主要异常场景:

(1)服务内部出错、异常;

(2)服务处理延迟;

(3)服务处理过载;

(4)网络链路延迟或中断;

(5)服务依赖链中部分依赖SLA不达标,造成整体服务不可用;

(6)服务链条过长,造成SLA整体不可控;


解决的思路:隔离(物理或逻辑)、自我保护、失效转移或恢复、降级。

1、隔离手段:依据服务重要性分级或流量特点、用户画像等,从物理上隔离服 务。主要使用分流技术;将服务使用的资源(CPU、线程、IO等)隔离,主要使用舱壁模式;

2、自我保护手段:快速失败(failfast)、流控、超时、熔断;

3、失效转移或恢复手段:失效检测、重试、转移(failover)、回退恢复(failback);

4、降级手段:依据依赖服务的重要性或依赖程度(强、弱),同步变异步,降级开关、拒绝部分服务等。


降级方案、限流方案设计如下:

 1.  每个系统需要分析调用量前10的服务(URL、ESB、RSF服务),并综合考虑其响应时间和耗时。原则上所有调用量大且降级后对销售或作业不造成较大影响的服务,都需要考虑。 

2. 降级、限流的目的是保护系统,减少本系统的压力、或降低对后端系统的压力、或降低对网络的压力。 

3. 限流方案不能造成正常销售或作业执行工作,降级后不能对销售造成较大的影响,对销售的较小影响是可以接受的。先限流,再降级。 

4. 降级手段有:功能禁用、增加功能的缓存时间、使用本地缓存而不是调用外部服务、减少某些业务特性以降低业务复杂度、不调用后端依赖服务、异常时采用默认数据或兜底数据,同步变异步调用,减少JOB执行频率或变更业务峰值JOB触发调用时间等;限流手段有:随机拒绝请求、拒绝低优先级系统调用,拒绝低级别用户调用,根据白名单或黑名单规则拒绝特定用户请求调用,对失败率高或响应超时系统调用拒绝调用,利用线程池队列排队处理调用,拒绝超出处理能力调用等。  

5. OLAP应用,如对OLTP系统的物理机器或网络资源造成了争用,同样需要设计降级方案。    

1. 不用增加任何额外硬件投资,纯软件方式实现双机容错,且对备份机无硬件配置要求。 2. 可支持Notes、Exchange、SQL Server、Sybase、Informix、0racle、SAP等多种系统的应用层叠恢复。 3. 采用全球第一套基于NT操作系统的容错软件,并同时支持UNIX平台。支持远程灾难备份。 4. 支持共享磁盘阵列柜和扩展镜像两种方式,给用户提供了选择上的灵活性,同时也能适应各种机型、网络结构、软件平台及应用系统。 5. 在扩展镜像或共享磁盘阵列任意方式下,均能实现两台NT服务器各自运行不同应用且相互热备份,即实现双机Active运转模式。 6. 使用共享磁盘阵列柜方式时,最多可以支持16个节点,远远大于其它类似系统所支持的2个节点数。 7. 最大限度地保护用户端的应用连续性。用户的硬件资源(如网卡)及软件资源(如NT操作系统、数据库管理系统、数据库应用系统、电子邮件系统等)均能处于该容错系统的保护之下,当这些被保护资源出现技术故障时,容错系统可随时实施系统资源切换。如此,该容错系统真正实现了用户硬件或是软件资源发生故障时系统及应用层上的在线热切换。 8. 占用系统资源极少,不增加网络负荷,且不打扰任何具体应用系统的任何操作。 9. 真正实现无人值守,全自动地实现应用资源切换,且图形界面操作,简单方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值