分布式系统容错-降级

本文探讨了分布式系统在面临资源不足和高访问量时如何进行降级操作,以保证系统稳定。主要策略包括降低一致性、停止次要功能、简化功能。通过异步处理、使用缓存和配置开关等方式实现降级,并强调了降级设计的要点和演练的重要性。
摘要由CSDN通过智能技术生成

所谓的降级设计(Degradation),本质是为了解决资源不足和访问量过大的问题。当资源和访问量出现矛盾的时候,在有限的资源内为了能够扛住大量的请求,我们就需要对我们的系统进行降级操作。也就是,暂时牺牲掉一些东西,保障整个系统的平稳运行。

一般来说,我们的降级需要牺牲掉的东西有:

  • 降低一致性。从强一致性变成最终一致性。
  • 停止次要功能。停止访问不重要的功能,从而释放出更多的资源。
  • 简化功能。把一些功能简化掉,比如,简化业务流程,或是不再返回全量数据,只返回部分数据。

降低一致性

我们要清楚地认识到,这世界上大多数系统并不是都需要强一致性的。对于降低一致性,把强一致性变成最终一致性的做法可以有效地释放资源,并且让系统运行得更快,从而可以扛住更大的流量。一般来说,会有两种做法,一种是简化流程的一致性,一种是降低数据的一致性。

使用异步简化流程

对于一些关键的业务流程,可以将同步处理的流程,通过产品设计改为异步流程。比如电商的下单交易系统,需要结算账单,扣除库存,扣除账户上的余额(或发起支付),最后进行发货流程,这一系列的操作。我们可以改为先让用户下单,然后异步处理订单,分配库存,然后异步通知用户支付。

降低数据的一致性

降低数据的一致性一般来说会使用缓存的方式,或是直接就去掉数据。比如,在页面上不显示库存的具体数字,只显示有还是没有库存这两种状态。

对于缓存来说&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值