12306¶
需求¶
- 一天累计发票 1000 万张,所以约等于每秒 115 笔交易,如果考虑到峰值情况,大致可以估算出,网站的峰值 TPS 在几百到几千左右。
- 峰值情况下网站的 QPS 接近 200 万。
分析¶
- 查询量极其巨大,但是交易量正常
方案¶
- 采用读写分离(CQRS)的架构,将读和写分开成不同的子系统。
- 写系统采用分库方式存储数据,分摊数据量和订票锁定的压力。
- 写系统将车票信息异步同步给读系统。可采用Kafka Connect(Debezium)
- 读系统使用大集群数据库,根据查询方式建立表和索引