温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:01
Or技术解密4,每年节假日微信红包的收发数量都会暴涨,有以除夕畏罪,如此大规模高峰值的业务需要,背后需要怎样的技术支撑?百亿级别的红包规模如何保证并发性能与资金安全?本文将为读者介绍微信百亿级别红包背后的高并发设计实践,内容包括微信红包系统的技术难点,解决高并发问题通常使用的方案,以及微信红包系统的所采用高并发解决方案。首先。微信红包业务比普通商品秒杀有更海量的并发要求。假设同一时间有10万个群里的用户同时再发红包,那就相当于同一时间有10万个秒杀活动发布出去,将产生海量的并发请求。其次,微信红包业务要求更严格的安全级别,资金交易业务比普通商品秒杀活动有更高的安全级别要求。普通的商品秒杀商品由商户提供,库存是商户预设的,秒杀时可以允许存在超卖、少卖的情况。在微信红包系统的设计上,除了并发请求强所之外,还有以下两个突出难点,首先,事务及操作量极大,其次,事务性要求严格。方案1,使用内存操作替代实时的DB事务操作,方案二,使用乐观所替代悲观所。商品秒杀系统中乐观所的具体应用方法是在DB的库存记录中维护一个版本号。
01:34
在更新库存的操作进行前,先去DB获取当前版本号,在更新库存的事务提交时,检查该版本号是否已被其他事物修改。这个方案解决了并请求强所的问题,可以提高DB的并发处理能力。5.1系统垂直set化,分而治之。5.2逻辑server层将请求排队,解决DB并发问题。首先将同一个红包ID的所有请求stick到同一台server。
02:06
其次,设计单击请求排队方案,最后增加macasht控制并发5.3双维度库表设计,保障系统性能稳定。综上所述,微信红包系统在解决高并发问题上的设计主要采用了set划分制、请求排队、双维度分库表等方案,使得单组DB的并发性能提升了8倍左右,取得了很好的效果。
我来说两句