服务的容灾与容错

引子

先介绍几个概念,同步一下认知:

容灾:是指系统冗余部署,当一处由于意外停止工作,整个系统应用还可以正常工作。

容错:是指在运行中出现错误(如上下游故障或概率性失败)仍可正常提供服务。

可用性:描述的是系统可提供服务的时间长短。用公式来说就是A=MTBF/(MTBF+MTTR),即正常工作时间/(正常工作时间+故障时间)。

可靠性:描述的是系统指定时间单位内无故障的次数。比如:一年365天,以天为单位来衡量。有天发生了故障,哪怕只有1秒,这天算不可靠。其他没有故障的是可靠的。

稳定性:这个业界没有明确的定义,我的理解是:在受到各种干扰时仍然能够提供符合预期的服务的能力。

从要求的严格程度上:可用性<可靠性<稳定性。

可用性和可靠性更侧重于容灾,而对稳定性同时包含容灾和容错。

服务的容灾

服务容灾的解决方案就是冗余。多几个备份来切换。常用的有N+1容灾和两地三中心。N和中心实际上都是机房的意思。所谓中心就是数据中心。N是数据中心的电力配置部分。电力配置有市电和备用发动机供电,但是一般互联网公司是不支持备用发动机供电的。所以一般一个机房就是一个N。

N+1容灾就是要多出一个机房做容灾。而两地三中心,是提高了安全级别,除了同城两个中心外,在异地再多出来一个中心。如果整个地区市电都不供电了,还有个备份。

这个备份的冷备和热备不同于数据库的冷备和热备。数据库的冷备是离线备份,就是不接收新流量的情况下备份。热备是一边接收流量一边备份。

而通常服务的冷备是服务还没有接收流量。而热备是指备份数据也在接收流量,比如负载均衡或者master-slave模式的slave承担读流量的副本。这些热备由于一直在运行所以避免了要切换前的服务检查等步骤,可以快速切换。

服务的容错

Everything fails!

服务容错的难点在于存在未知和不可预测。所以对服务容错要处理两个问题:发现和解决。

可以自下而上和自上而下两个角度来发现问题。自下而上主要是根据海因法则,从根本上解决遇到的每一个问题,以避免引起更大的问题。自上而下是系统化的思考,根据已知和可预测的,推演出未知和不可预测的。

在解决问题方面,衍生出很多派系。比如调研到阿里那边更倾向于从流程上做把控:

隔离术

1>领域拆分隔离

2>服务部署隔离

机房隔离

单元化

泳道

热点隔离

读写隔离

容器隔离
3>服务间交互隔离

熔断降级

4>服务内资源隔离

线程池隔离

信号量隔离

风险巡检术

慢查询

超时治理

依赖治理:消除依赖、弱化依赖、控制依赖

系统破窗户

废弃代码资源治理

系统异常治理

告警治理

数据一致性治理

稳定性设计术

请参考《稳定性三十六计》

超时重试:推荐spring-retryer

熔断:推荐hystrix

限流:推荐Guava RateLimiter

spring cloud提供了超时重试、熔断、限流的综合解决方案

(0)

相关推荐

  • 从系统的角度看供配电系统的发展

    导读 近年来,IT设备的基本电路结构没有发生大的变革,而仅在细节上不断有改良.总的来说,IT设备电源朝着功率密度越来越高.效率越来越高.成本越来越低.应用方式越来越灵活.齐全的保护功能.智能化的监控与 ...

  • 解决方案︱OS2服务注册容灾方法探究

    各位读者,中国电工技术学会定于2016年7月3~4日在北京铁道大厦举办"2016第十一届中国电工装备创新与发展论坛",主题为"电工行业十三五规划研究与解读".请 ...

  • 保险行业混合云环境数据容灾与备份解决方案

    [摘要]云计算.大数据以及人工智能等各种数字化技术正在助力保险行业数字化转型,而其中海量非结构化数据的智能管理需要革命式的转换.与传统业务不同,烟囱式的管理.彼此业务的隔离以及传统数据中心的建设已经不 ...

  • 异地容灾系统方案设计与分析

    目 录 第 1 章 容灾技术规范 1.1 容灾的总体规划 1.1.1 技术指标 RPO.RTO 1.1.2 国际标准 SHARE 78 1.1.2.1 Tier0 1.1.2.2 Tier1 1.1. ...

  • 基于PostgreSQL流复制的容灾库架构设想及实现

    一.前言 这几天在对PostgreSQL流复制的架构进行深入研究,其中一个关键的参数:recovery_min_apply_delay引起了我的注意,设置该参数的大概意思是:在进行流复制的时候,备库会 ...

  • 企业容灾架构选型解析(一):必知概念、跨中心数据复制技术

    [摘要]随着全球IT产业的飞速发展,企业的IT建设逐步成为主导业务发展的核心驱动力,基于企业IT架构容灾建设的各种行业标准以及监管标准也相应提高.提高企业整体容灾体系标准是摆在企业面前的挑战,但是面对 ...

  • 河南郑州暴雨,突显数据中心备灾容灾机制重要性!

    河南暴雨   近日,河南遭遇暴雨.受这波大雨影响,有用户近日收到有主机合作的包括西部数码,景安在内的郑州多家主机商发来的机房断电通知,因机房断电部分机房和节点将临时停服,天佑郑州,希望早日度过难关! ...

  • 企业容灾架构选型解析(三):脑裂问题探讨

    [摘要]随着全球IT产业的飞速发展,企业的IT建设逐步成为主导业务发展的核心驱动力,基于企业IT架构容灾建设的各种行业标准以及监管标准也相应提高.提高企业整体容灾体系标准是摆在企业面前的挑战,但是面对 ...

  • 多中心容灾实践:如何实现真正的异地多活?

    一  背景 为什么称之为真正的异地多活?异地多活已经不是什么新鲜词,但似乎一直都没有实现真正意义上的异地多活.一般有两种形式:一种是应用部署在同城两地或多地,数据库一写多读(主要是为了保证数据一致性) ...

  • 郑州的容灾能力

    救援队在新乡的马坊村组织村民撤离(张雷 摄) 暴雨袭城 一个搞了近40年防洪的人,头一回自己遭了灾.7月24日中午,李勇去机场之前,还在忙着给保险公司的人打电话,问对方能不能派拖车把自己在小区地库里的 ...