发布时间:2019-11-27 14:46:33 文章来源:互联网
微博 微信 QQ空间
    网友所说的问题,大概在2012年左右才会发生,当时12306铁路购票,刚刚上线,由于无法满足同时大量的查询、购票,导致12306订票系统瘫痪,提示“IPC"等软件调试信息,让用户等待。

    什么是IPC?
 
    简单来说,IPC是应用程序进程之间的通信机制,主要有信号量、消息队列、共享内存等,实现进程之间的通信。
 
    这里拿12306购票来说,火车票的数量是有限的,如果数据库不够优化,每次购票都要使用事务,会导致后续的查询排队,直接导致前端请求变慢,如果用户这时更快的去刷票,而不是等待请求处理完,会导致恶行循环。为了让事务尽快结束,或者干脆不用事务,那么就需要使用系统IPC等锁方案。
 
    12306已经很少再”瘫痪"
 
    我们发现,近些年来12306很少再瘫痪了,即便是春运等高峰期买票,也不会发生系统无法登陆,系统繁忙之类的错误,很大一部分原因是,12306将余票查询模块放到了阿里云,采用了阿里的技术应对大流量的网络购票。
 
    12306购票90%以上的流量来自于余票查询,主要采取的措施是:
 
    1)12306将余票查询模块与12306现有系统分离,具备独立部署的能力;
 
    2)在阿里云上部署了一套余票查询系统;
 
    3)完成查询后,用户信息和购票过程仍然在12306自己的服务器上完成。
 
    总之,12306订票系统经过多年的发展,已经非常完善,可以应对春运等这样大流量的订票,不会发生系统瘫痪等问题,这背后离不开阿里云技术的支持。

另一视角

换一换