分布式场景下的稳定性保障

本文详细探讨了分布式场景下的稳定性保障,包括明确保障目标、全链路梳理、全链路压测、集群扩容、服务限流、预案制定及系统监控等关键步骤。以秒杀业务为例,阐述了如何进行全链路梳理、压测和扩容,强调了减少依赖、服务限流和紧急预案的重要性。此外,还提及了大促稳定性保障的计划、准备、值班和复盘流程。
摘要由CSDN通过智能技术生成

1、什么是稳定性保障

    稳定性保障简单理解就是不让系统出现不可用的情况,或者不可用的情况每年只能发生几十分钟。

    为什么要稳定性保障?因为现在很多的电商系统和支付系统已经属于社会基础服务,持续一段时间不可用会对社会影响比较大,同时也损失了用户的信任。

    稳定性保障的场景非常多,只要流量非常大的业务就需要系统性的进行稳定性保障,包括直播、电商秒杀、电商大促等场景。2022年9月3日晚刘德华“把我唱给你听”线上演唱会,最终这场线上演唱会的在线观看人次达到3.5亿,那么支持3.5亿人次观看就是一种稳定性保障场景。每年电商网站618、99、双11和双12大促。除了大促以外,还有很多亿级用户的产品也需要稳定性保障,如电商交易、第三方支付、演唱会直播等场景。还有很多秒杀的场景,如每晚8点某电商网商1499秒杀茅台、在12306网站提前N天抢票。

2、明确稳定性保障目标

    做稳定性保障的第一件事是要明确保障的一级目标,比如某明星直播要明确保障目标是3亿还是6亿人次观看,某大促交易峰值是20WTPS还是40W TPS。

2.1、明确一级目标

    业务稳定性保障的目标通常是在保障某业务不可用的时间每年持续多久,某业务全年可用率目标99.995%,一年一共有525600分钟,每年的不可用时间必须控制在26(525600*0.00005)分钟以内。

    系统稳定性目标是峰值QPS(每秒请求数)和TPS(每秒写入数)达到多少。注意一定是要峰值目标!这个峰值分为日常峰值和大促峰值,所以稳定性保障有日常保障目标和大促保障目标。从成本角度考虑,每场大促需要做单独保障,大促保障完之后需要回收服务器和各种资源,线上运行的机器一般只能支撑日常峰值或小促。那么我怎么知道今年大促峰值要支撑多少TPS呢,这个只能根据经验估算,一般的估算经验是日常峰值的十倍,或去年大促峰值的2倍,这个其实很难估算非常准确只能尽量估大。

2.2、拆解二级目标

    如果一级目标是支付峰值,那么需要进一步拆解支付咨询量,交易创建量等二级指标,针对这些二级指标做稳定性保障。否则交易创建失败了,只做支付TPS的一级目标保障也没有任何用。

3、如何进行稳定性保障

    稳定性保障的过程分为链路梳理、全链路压测、集群扩容、服务限流、增加提前预案和增加紧急预案。本文会用秒杀业务举例说明。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值