开发者社区> 问答> 正文

12306 是不是现在世界上业务逻辑最复杂的系统之一?

光想想这并发量头就发麻,不像天猫双十一是短时间并发,12306 是一出票就双十一。

火车票是一个基于库存又需要 100%正确的销售,同时还有神奇的乘车区间合并拆分以及车票的排列组合,光是想想就很困难呀。

个人觉得12306 现在应该是世界上业务逻辑最复杂的系统之一吧,大家觉得呢?

展开
收起
游客pklijor6gytpx 2019-12-25 09:45:27 9261 0
5 条回答
写回答
取消 提交回答
  • 下一站是幸福

    是的,都说阿里的并发控制牛逼,跟12306比起来跟本不算什么,购物网站说到底就是客户在A店买一个规格是B的商品C,只要A-B-C这个地方减1就行,而12306是按区间售票的,很复杂

    2020-03-21 23:04:15
    赞同 展开评论 打赏
  • 如果不复杂,12306 当初也不会找 IBM 了,IBM 却说搞不了,你们自己看着办吧

    2019-12-25 10:42:49
    赞同 1 展开评论 打赏
  • 我想吹下阿里。。。据说阿里一个团队接手做了好几年才有了现在这个样子,从头开发一个新的并不难, 升级别人的系统才是牛逼的

    2019-12-25 10:14:21
    赞同 2 展开评论 打赏
  • 不定期更新钉群圈子活动等内容

    12306 的难点不仅仅是向用户提供服务, 还的和 bypass,携程,飞猪 这些抢票软件做斗争, 普通用户 1 秒 5 个请求不得了了,而这些抢票软件的服务器 1 秒发出几千请求就和眨眼一样简单。

    2019-12-25 10:08:51
    赞同 2 展开评论 打赏
  • 并发不大 主要考虑的是一辆车首发放票的问题

    例如 上海到南京 一趟列车 1w 个座位,放票 1w 张,你认为最终有效请求就是 1w。这是一个商品秒杀的逻辑

    但问题在于 对于 12306,这 1w 的成功请求最终会产生数据的裂变。1w 个成功请求中 有 5000 个是上海到无锡的。那么就又会产生 5000 个无锡到南京的票可以被“抢”(请求)。这样一趟列车的可成功请求数就变为了 1w+5000 =1.5w 请求。 如果有 3000 人买的是 苏州到无锡的票。就会产生 3000 张上海到苏州 3000 张无锡到南京的票。加上之前的 总计是 1w+5000+3000+3000 = 2.1w 请求。

    这个已经不是“普通小电商秒杀的水平”。涉及到了巨量复杂的余票计算和查询。

    2019-12-25 09:52:45
    赞同 2 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
典型业务逻辑漏洞挖掘 立即下载
极简微服务模式—消除微服务复杂度的最佳实践 立即下载
《前端智能化实践》——逻辑代码生成 立即下载