12306架构到底有多牛(QQ微博12306)

QQ、微博和12306都是用户访问量很大的业务场景。但同样是10亿用户,他们的高并发一样吗?

一、QQ

QQ的核心业务有:好友,个人消息,群消息等。

这些信息的读写都会根据 用户id/ 群id / 消息id 来进行。例如,拉取好友列表:

select friend_id from friends where uid=$uid; 其中:uid为用户id

10W个用户同时读写,各读各的,彼此之间并没有锁冲突。

12306架构到底有多牛(QQ微博12306)(1)

只有当同一个用户/群,有大量并发,例如,1个群1秒钟读写1W次时,才可能存在锁冲突。

QQ群有人数限制,很少会出现这种情况

二、微博

微博的核心业务是feed流:

  • 发微博,写操作
  • 刷微博,读操作

业务场景显然是读多写少。用户在刷微博时,自己feed流里的消息,都是别人发的。

不像QQ,基本是读写自己的数据;微博要写自己的数据,读别人的数据。在用户量很大,并发量很大时,会有一定的读写锁冲突。

12306架构到底有多牛(QQ微博12306)(2)

三、12306

12306的核心业务是:

  • 查票,读操作
  • 买票,写操作

火车票,是公共资源,所有用户访问的是同一库存。在用户量很大,并发量很大时,有极大的锁冲突。

因此,这类“秒杀”业务,虽然数据量不大,但如果不做特殊优化,数据库很容易死锁卡死,没有任何人能买票成功。

12306架构到底有多牛(QQ微博12306)(3)


关注【老张聊架构】,成为百万年薪架构师!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页