12306 技术难点大探讨
前言
时间回退到 2010 年的 12306 官网,大家还记得多少,又卡又慢时常崩溃,服务器经常宕机的 12306,和今天稳定运行的 12306,就纯技术角度而言,抛出一些问题,一起分享讨论背后的技术变革
问题点 1 【动态库存】
小编想买一张春节,“深圳–武汉” 的高铁票,中途经过 8 个站点,中途售罄如何保证这趟车次的车票,在多站点库存数据的实时同步,12306app 与车站售票系统的数据一致性问题,多站点下数据行锁开销、大事务处理
问题点 2【灰色流量】
春运、节假日应对超高并发和超高流量冲击,智行火车票等一些抢票软件,抢占资源带宽,服务器如何响应并处理
解决思路
1. 技术角度,2010 年上线服务器经常宕机,2012 年进行了重构(解决了大流量请求查询,读多写少),由 redis 切换至 pivotal gemfire 分布式系统的 CAP,服务器改为云计算弹性扩容(分钟级),爬虫与反爬虫
2. 产品角度,分时段售票(分散流量冲击),后补车票(异步处理,队列消费),验证码拦截(放弃部分用户体验)
参考资料
CAP 的问题 tanzu.vmware.com/content/blog/acid...
Pivotal Gemfire blog.verysu.com/sharearticle/1444
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY