关于12306网站抢票的架构设计

本文深入探讨了12306抢票服务在面临极限并发时的系统架构设计,包括负载均衡的层次与方式,如OSPF、LVS和Nginx的加权轮询。通过模拟100万人抢1万张火车票的情况,展示了如何在分布式集群中实现流量的均衡分布。同时,文章分析了秒杀抢购系统的设计选择,如预扣库存策略,以避免超卖和少卖问题,并提出了通过本地库存与Redis统一管理来提高系统的高可用性和容错性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

12306 抢票,极限并发带来的思考

虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。
尤其是春节期间,大家不仅使用 12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。
“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了!

笔者专门研究了一下“12306”的服务端架构,学习到了其系统设计上很多亮点,在这里和大家分享一下并模拟一个例子:
如何在 100 万人同时抢 1 万张火车票时,系统提供正常、稳定的服务。

大型高并发系统架构

高并发的系统架构都会采用分布式集群部署,服务上层有着层层负载均衡,并提供各种容灾手段(双火机房、节点容错、服务器灾备等)保证系统的高可用,流量也会根据不同的负载能力和配置策略均衡到不同的服务器上。

下边是一个简单的示意图:
在这里插入图片描述

负载均衡简介

上图中描述了用户请求到服务器经历了三层的负载均衡,下边分别简单介

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Think_Higher

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值