开篇词|如何设计一个高并发、高可用的秒杀系统?
三个问题
课程设计
自我介绍
- 深入了解
- 翻译
- 解释
- 总结
该文章是一篇关于设计高并发、高可用秒杀系统的实践指南。作者从业务挑战、技术选型、系统搭建、高可用建设、风控和系统优化等六个部分详细介绍了秒杀系统的设计原则和实战技巧。课程设计亮点包括手把手搭建秒杀系统、涉及的编程语言和适用人群广泛。作者佘志东具有丰富的通讯和互联网行业经验,曾在头部互联网公司担任资深架构师,成功应对了大规模交易和疫情期间的系统挑战。他希望通过这篇文章和课程,将自己的经验传递给读者,鼓励大家保持好奇心和求知欲,持续武装自己。整体而言,该文章对于想要深入了解秒杀系统设计原理和实际应用的电商技术从业者具有重要的实践指导意义。
2021-09-2255人觉得很赞给文章提建议
《手把手带你搭建秒杀系统》,新⼈⾸单¥59
全部留言(19)
- 最新
- 精选
- 菜心1986请问,这里的百万并发是打到服务端的有效信息么? 这里的百万和通常说的几亿流量是怎么区别的啊。
作者回复: 是的。区别在于时间单位,咋们这个专栏提到的百万是指秒级,而其他书里提到的亿级流量一般是1天内的pv
2021-09-2327 - 呆萌白的大白。秒杀最重要的就是把流量挡在数据库之前。只让真实生效的数据写入mysql。挡流量最重要的两步,第一步是限制每个用户单位时间内的请求访问。第二步让所有用户请求依次排队进行。关键就是第二步需要用到高性能低延迟分布式锁,java恰好有开源的Redisson解决了秒杀中60%的问题。这个库火到什么程度star和fork比mariadb都多,虽然这个比较不恰当但也侧面反映了该库牛逼的地方。但很多语言没有这个库python go都没有,也没有成熟稳定可替代的。这就是为什么很多人问该项目的主编程语言。希望作者大大能有一个更通用的分布式锁解决方案。可以不看语言,不看库。
作者回复: 你这里说的redisson是redis官方推荐的Java客户端,封装了redis的分布式锁功能,总的来说,就是简单的用lua脚本整合基本的set命令实现锁的功能,其实其他的语言也可以类似实现。
2021-10-1425 - 学会用实力去谈条件可以简单分享下:线上业务故障/事故的级别定义吗
作者回复: 一般会从事故的影响大小去定级。几个维度:资金损失,订单损失,客诉量。至于具体是多少阈值,要结合自身业务看了。
2021-09-2524 - 阿福项目是用什么语言,Java吗?
编辑回复: Nignx服务有Lua语言,后端服务都是Java。
2021-09-223 - 李威老师在文中提到的三百万并发,请问是用了多少台机器做到的呢,以及机器的配置是如何的,感谢。
作者回复: 秒杀涉及整个交易链路很多的系统,比如商详页,结算页,商品,订单,支付,促销等环节。各个系统根据秒杀场景视情况独立隔离部署,而秒杀系统一般负责隔离秒杀结算页,结算页如本专栏介绍分网关层和业务层,为支持百万秒级并发,网关层一般需要几十台物理机或高规格容器(32C),而业务层也需要不少容器来支持。综合整个链路的系统,大概几万C的计算资源是少不了的。
2021-10-192 - _xcc还想问有没有代码仓库,看到Github地址就满足了
编辑回复: 安排!
2021-09-221 - 张申傲道阻且长,行则将至。打卡
编辑回复: 期待同行!
2021-09-221 - sky虽然语言只是一个工具,但还是想问下作者是用GO来实现嘛 是的话就下单了啊
编辑回复: 抱歉,不是。Nignx服务有Lua语言,后端服务都是Java。
2021-09-221 - Geek_d0863b怎么进群啊
编辑回复: 课程介绍页有链接哈
2021-09-272 - LouisYuan希望老师后面讲解的时候可以少一点语言相关的,让对Java不了解的也能看明白
编辑回复: 收到,我反馈给老师。
2021-09-25