12306使用了哪些技术

12306 日点击量达到1577.8亿,在刚上线的时候,买火车票太卡。他们做了很多的改进。有哪些呢? 咱不是开发人员,也没法直接接触,只能从网上搜罗来学习一下。

高负载高并发解决

1 异步交易排队。 查询是否有票是一个耗时任务,需要大量计算,如果http请求一直等待计算结束,则会阻塞web服务,导致web无法响应用户。 那么建立一个交易队列,将交易请求加入到交易队列中,直接返回给用户提交成功的相应,随后隔段时间查询一次执行结果即可异步购票。
2 Pivotal GemFile 一个分布式的内存数据库。
https://pivotal.io/pivotal-gemfire
特点
2.1 稳定高效,基于内存
2.2 灵活的cache部署策略
2.3 分布式处理
2.4 高可用性和容错性 ,存在多个基于内存的热备份。
2.5 数据可以全内存,也可以使用LRU策略房以一部分
2.6 并行查询
例子: https://www.programcreek.com/java-api-examples/index.php?api=org.springframework.data.gemfire.GemfireTemplate

3 使用了阿里云的基于需求的伸缩性的云平台

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容