07 | 准备Plan B:如何设计兜底方案?
该思维导图由 AI 生成,仅供参考
高可用建设应该从哪里着手
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了如何为秒杀系统准备Plan B,以确保在意外情况下系统能够保持高可靠性。作者指出,面对大流量冲击时,系统很难单靠自身调整来恢复状态,因此需要设计Plan B方案来兜底,以应对最坏情况的发生。文章从系统的高可用建设着手,包括架构阶段、编码阶段、测试阶段、发布阶段、运行阶段和故障发生时的应对措施。针对秒杀系统,重点介绍了降级、限流和拒绝服务这三种保障系统稳定运行的措施。这些措施旨在防止系统因意外情况而宕机,保障系统的高可用性。文章还强调了高可用建设的组织保障,提出了建立稳定性建设小组等具体措施。总的来说,本文为读者提供了系统稳定性建设方面的深入思考和实用方案,对于技术人员和系统运维人员具有重要的参考价值。
《如何设计一个秒杀系统》
全部留言(23)
- 最新
- 精选
- 似水流年从第一篇到第最后一篇大都是思想理论指导,有具体的例子和实现伪代码会更好
作者回复: 具体的实现,还是留给大家自己尝试啦☺
2018-10-14216 - 小喵喵1。降级方案可以这样设计:当秒杀流量达到 5w/s 时,如何判断达到了5w/s呢?我想到的写一个windows服务或者一个工具不停的跑,但这样也太low了吧。期待老师更好的方案? 2.客户端限流,是在数据库做配置吗?配置某些用户不让发起请求或者发请求次数的限制吗? 3.服务端限流,完全不明白,请老师举例说明一下。 4.例如我们的系统最高支持 1w QPS 时,可以设置 8000...,你是怎么判断是否到达8000?
作者回复: 统计qps用一个计数器就行,来一个请求加一,一秒统计一次 客户端和服务端限流是针对rpc调用来说的,发起方可以理解为客户端,调用方可以理解为服务端,限流就是分别限制发起方和调用方的次数
2018-10-0714 - 小喵喵编码阶段:例如涉及远程调用问题时,要设置合理的超时退出机制,防止被其他系统拖垮,也要对调用的返回结果集有预期,防止返回的结果超出程序处理范围,最常见的做法就是对错误异常进行捕获,对无法预料的错误要有默认处理结果。 1.如何判断调用一个接口超时?接口那边不会返回超时标识的。 2.结果集有预期,后面请举一个具体的例子说明一下,什么预期,程序处理范围,错误异常进行捕获,默认处理结果等等。
作者回复: 接口超时设置以及异常处理很多开源框架都有,建议你看一下例如dobbo这种框架是如何实现的😊
2018-10-078 - 贵楠老师可否提供一个demo呢
作者回复: 像load保护这种功能在阿里开源的tengine系统里其实有实现,你可以去了解一下 其他的限流降级这些在阿里开源的中间件产品里也都有实现,大家可以去下载学习一下
2018-10-164 - 钱意犹未尽,内功心法口诀已经传授,下面就看悟性和修炼啦! 为了系统的高可用,我们需要B计划,为了使系统仍然可用,我们准备了降级、限流、拒绝服务三件法宝。每次备战,也玩这些!不过是组织配合实现自己完全实现还远的很。 这个专栏值得反复回味!
作者回复: 😉
2018-11-1433 - 歌在云端最讨厌的就是kpi考核,不是流行OKR吗
作者回复: 执行起来,感觉差不多😂
2018-10-072 - 随风我初试都没过,所以也就没机会碰见大佬了
作者回复: 继续积累积累,继续努力一段时间再来
2019-03-241 - 打老师屁屁老师, 如何根据并发量有效的计算需要多少台机器, 比如 LB,WEB,CACHE,MQ,各需要多少台机器。有没有一个参考值
作者回复: 这个要更每个环节的系统能支持多大的负载来计算的,比如cache单台能支持多大的并发请求,然后要根据总请求量单台的性能 还要计算最外层的请求分别对应到每个环节拆分的请求数,例如一个web请求可能对应多个cache请求。
2018-10-151 - Geek_eae456请问“统计qps用一个计数器就行,来一个请求加一,一秒统计一次”这种方案如果遇到【0.5,1】【1,1.3】两个区间都有4.5WQPS,假设最大是5WQPS,这样单秒没有超,可是【0.5,1.5】超了怎么处理呢?
作者回复: 还没看明白你的意思😂
2019-04-136 - 江中芦苇世界好小,大佬作为滴滴复试面试官2018-11-03257