社交软件红包技术解密(四):微信红包系统是如何应对高并发的

四、微信红包的两大业务特点


微信红包(尤其是发在微信群里的红包,即群红包),业务形态上很类似网上的普通商品“秒杀”活动。

就像下面这样:
 

  • 1)用户在微信群里发一个红包,等同于是普通商品“秒杀”活动的商品上架;
  • 2)微信群里的所有用户抢红包的动作,等同于“秒杀”活动中的查询库存;
  • 3)用户抢到红包后拆红包的动作,则对应“秒杀”活动中用户的“秒杀”动作。

架构11 社交软件红包技术04

架构11 社交软件红包技术04

架构11 社交软件红包技术04

架构11 社交软件红包技术04

架构11 社交软件红包技术04

架构11 社交软件红包技术04

架构11 社交软件红包技术04

架构11 社交软件红包技术04

七、微信红包系统的高并发解决方案


综合上面的分析,微信红包系统针对相应的技术难点,采用了下面几个方案,解决高并发问题

架构11 社交软件红包技术04

架构11 社交软件红包技术04

这个方案解决了同时存在海量事务级操作的问题,将海量化为小量

架构11 社交软件红包技术04

架构11 社交软件红包技术04

架构11 社交软件红包技术04

最后,增加 memcached 控制并发。

为了防止 Server 中的请求队列过载导致队列被降级,从而所有请求拥进 DB,系统增加了与 Server 服务器同机部署的 memcached,用于控制拆同一个红包的请求并发数。

具体来说,利用 memcached 的 CAS 原子累增操作,控制同时进入 DB 执行拆红包事务的请求数,超过预先设定数值则直接拒绝服务。用于 DB 负载升高时的降级体验。

通过以上三个措施,系统有效地控制了 DB 的“并发抢锁”情况。

 

架构11 社交软件红包技术04

架构11 社交软件红包技术04

 

相关文章:

  • 2021-04-19
  • 2021-09-10
  • 2021-04-16
  • 2021-11-08
  • 2021-12-01
  • 2021-09-18
  • 2021-10-12
  • 2022-12-23
猜你喜欢
  • 2021-06-07
  • 2021-05-06
  • 2021-06-30
  • 2021-06-25
  • 2021-09-16
  • 2022-01-11
  • 2022-12-23
相关资源
相似解决方案