12306

需求

  • 一天累计发票 1000 万张,所以约等于每秒 115 笔交易,如果考虑到峰值情况,大致可以估算出,网站的峰值 TPS 在几百到几千左右。
  • 峰值情况下网站的 QPS 接近 200 万。

分析

  • 查询量极其巨大,但是交易量正常

方案

  • 采用读写分离(CQRS)的架构,将读和写分开成不同的子系统。
  • 写系统采用分库方式存储数据,分摊数据量和订票锁定的压力。
  • 写系统将车票信息异步同步给读系统。可采用Kafka Connect(Debezium)
  • 读系统使用大集群数据库,根据查询方式建立表和索引