编者按:

腾讯云消息服务(Cloud Message Queue)是分布式消息队列服务,能够为分布式事务部署的不同应用之间或者一个应用的不同组件之间,提供基于消息的可靠的异步通信机制,消息被存储在高可靠、高可用的CMQ队列中,多进程可以同时读写,互不干扰。

那么,究竟什么是分布式事务呢?举一个简单的例子——春晚微信红包。

如果A向B发了一个红包,过程大致如下:

① 读取A账户余额;
② A账户余额减去红包金额,并将新的账户余额写入A账户中;
③ 读取B账户余额;
④ 拆开红包,读取红包金额;

⑤ B账户余额加上红包金额,并将新的账户余额写入B账户中。

对于春晚微信红包这个达到十亿级别的请求来说,如果使用传统的分布式事务处理方式,微信红包这个复杂的过程会放大并发压力,并且足以导致系统异常。例如上述过程第5步,由于并发压力过大常会出现A被扣款,B拆开红包后无法入账的情况。

腾讯云消息服务(CMQ)的其中一项功能就是将入账失败的请求,转入到CMQ队列中,钱包账户系统不断从CMQ队列拉取数据、尝试更新操作,直到成功入账。简而言之,CMQ保证了入账消息永不丢失。

在此过程中,CMQ消息队列保证了红包消息的可靠存储、传递,实时写三份保证数据不丢。资金入账失败时可多次重试,避免失败回滚和频繁轮询数据库等传统方式的弊端。

除了增强分布式事务处理的可靠性之外,CMQ还有以下几点功能:

① 异步通信协议

消息的发送者将消息发送到消息队列后可以立即返回,不用等待接收者的响应。消息会被保存在队列中,直到被接收者取出。消息的发送与处理是完全异步的。

② 进程解耦

消息队列帮助减少两个进程间的耦合度。只要消息格式不变,即使接收者的接口、位置或者配置改变,也不会给发送者带来任何改变。并且,消息发送者无需知道消息接收者是谁,使得系统设计更清晰;相反的,进程间使用远程过程调用(RPC)或者socket连接,当一方接口、ip或端口改变了,另一方则必须修改改写请求配置。

③ 消息路由

发送者无需与接收者建立直接连接,双方通过消息队列保证消息能够从发送者路由到接收者,甚至对于本来网络不易互通的两个服务,也可以提供消息路由。

④ 多终端

用户系统的多个部分可以同时发送或接收消息,腾讯云 CMQ 通过消息状态来进行消息可用性的控制。

⑤ 多样性

每个队列均可独立配置,并非所有队列都要完全相同。在不同业务场景下的队列可以进行个性化的配置,例如一个队列中消息处理时间较长,可以针对队列属性进行优化。

来源:https://blog.csdn.net/qq_35446207/article/details/52412084

解密春晚微信红包十亿级并发压力相关推荐

  1. 春晚微信红包,是如何抗住 100 亿次请求的?

    对于初级工程师而言,最基本的要求是要实现功能,但对于高级工程师和专家工程师而言,更多是要关注架构和性能. 今天,来聊聊红包问题,你可能疑惑:春晚微信红包,是如何扛住 100 亿次请求的?那么,今天就一 ...

  2. 阿里巴巴内部不传之秘「十亿级并发系统顶级教程」GitHub一夜封神

    何为超大流量? 超大流量是一个很容易理解的意思!举个例子:现在国内疫情反弹,每个小区都要做核酸那么如果同一时间下来一大批人一起做核酸,那么这就是大流量,然后志愿者将人员进行分配排队让医务人员处理的过来 ...

  3. 阿里巴巴十亿级并发系统设计手册已开源(2022最新版)

    高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时.CPU load升高.GC频繁.死锁.大数据量存储等等,这些问题能推动我们在技术深度上不断 ...

  4. 阿里巴巴十亿级并发系统设计手册已开源(2021最新版)

    高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时.CPU load升高.GC频繁.死锁.大数据量存储等等,这些问题能推动我们在技术深度上不断 ...

  5. 春晚微信红包,是怎么扛住一百亿次请求的

    出处:http://www.infoq.com/cn/articles/weixin-bonus-load?utm_source=infoq&utm_medium=popular_widget ...

  6. 为防双11系统崩盘,阿里P9架构师苦熬3个月终成亿级并发编程手册

    并发编程有多重要? 能否熟练掌握并发编程已经成了判断一个程序员是否优秀的重要标准之一.这是因为并发编程中包含了操作系统.CPU.内编程语言等各个方面的基础知识,以至于并发编程成了整个Java体系里最为 ...

  7. 抖音春晚撒了12亿红包,这钱花的值不值?

    本文转载自 全天候科技,作者 张超 2021年央视春晚期间,抖音红包总互动次数达703亿,抖音春晚直播间累计观看人次12.21亿,远超去年.除了获取流量,推广"移动支付"新业务被外 ...

  8. 极客日报第 53 期:抖音将代替拼多多成为春晚独家红包合作伙伴;高通正研发 8cx 升级版处理器,对标苹果 M1;DuckDuckGo 日查询量首次突破 1 亿

    文章目录 一.互联网快讯 二.程序员专属 三.Github 每日精选 四.CSDN 社区优质博文精选 一.互联网快讯 1.抖音将替代拼多多,成为 2021 年春晚独家红包互动伙伴 据了解,1 月 16 ...

  9. 2022年春晚京东发15亿红包,摇一摇即可得

    2022年春晚京东发15亿红包,摇一摇即可得 目前京东官方发出消息,春晚晚会上将会有15亿红包发放,将发放价值15亿元的奖池福利,包括红包和好物两种形式. 从腊月二十二(1月24日)开始,用户就可以登 ...

最新文章

  1. GeneratorSqlMapCustom(mybatis逆向工程)
  2. 解决vuex页面刷新导致数据丢失问题
  3. 不安装cudnn可不可以_Ubuntu16.04+gtx1060+cuda8.0+cudnn8.0+tensorflow安装
  4. Contact support button enablement logic
  5. 是谁掌控了丁真的故事走向?
  6. Jenkins实现持续集成 上传远程服务器war 并执行sh脚本重启
  7. CodeForces - 808B Average Sleep Time
  8. 瑞友天翼应用虚拟化系统V6.0之设备重定向
  9. 解决Flutter运行IOS报错:Podfile is out of date
  10. Memory Limited Persistent Message Queue
  11. 人民搜索再体验 标题抽取存在问题
  12. 泡泡龙游戏c语言程序,《泡泡龙》发射技巧总结_图文攻略_高分攻略_百度攻略...
  13. sinkhorn algorithm
  14. 【前端】页面适配?移动端适配屏幕的各种解决方案!
  15. win10平板模式_win10电脑投屏到手机
  16. Skia引擎API整理介绍(skia in Android 2.3 trunk)
  17. vmware windows7安装usb3.0驱动
  18. 自建站的博客网站添加百度统计功能统计流量
  19. 图像 引言 深度学习_用树莓派4b构建深度学习应用(十二)口罩篇
  20. win7 .net4.0安装未成功问题分析及解决

热门文章

  1. 取消mysql自动备份文件_MySQL自动备份并清理多少天前的备份文件
  2. 家庭财务管理系统_我31岁,30天整理出这些财务笔记干货,从宝妈成功逆袭成为会计...
  3. html5 制作风车,[网页设计]html5 requestAnimationFrame制作动画:旋转风车
  4. java分页模板_java 分页模型的模板
  5. 03SpringMVC,Spring,Hibernate整合(Date时间转换)
  6. 2高并发服务器:多线程服务器
  7. hibenate.hbm2ddl.auto属性详解
  8. python socket tcp_python socket 模拟tcp通讯
  9. 基于深度学习的CT图像肺结节自动检测(系列放在一起)
  10. python图像处理专业博客