消息队列RocketMQ应对双十一流量洪峰的“六大武器”

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 消息队列 RocketMQ 是如何帮助各企业交易系统扛住瞬间千万级 TPS、万亿级流量洪峰的冲击,并保持各个应用之间的消息通畅的呢?下文将为您介绍消息队列 RocketMQ 应对双十一流量洪峰的“六大武器”。

作者:不周

审核&校对:岁月、明锻

编辑&排版:雯燕


“ 4982 亿,58.3 万笔/秒 ”的背后


在新冠肺炎疫情催化下,数字化生活方式渐成新常态。“4982 亿,58.3 万笔/秒”是 2020 天猫双 11 全球狂欢节(简称:天猫双 11 )对数字经济的先发优势和巨大潜能的直观体现。


1.png


面对千万级并发、万亿级的流量洪峰,背后有力支撑的便是双十一交易核心链路的官方指定产品:消息队列 RocketMQ 。


2.png


双十一交易场景业务痛点


随着双十一的逐年升温,保障交易场景的稳定性已成为各企业在双十一业务中的关键,每年双十一活动的凌晨,是“万民狂欢”的日子,同时也是各企业交易系统备受考验的时候,保证核心交易系统的业务处理能力、有效应对每秒数十万笔的交易订单成为重中之重,若不能进行流量缓冲将直接引发这些系统的崩溃。避免系统崩溃的核心“秘诀”便是消息队列 RocketMQ。


消息队列 RocketMQ 是如何帮助各企业交易系统扛住瞬间千万级 TPS、万亿级流量洪峰的冲击,并保持各个应用之间的消息通畅的呢?下面为您介绍消息队列 RocketMQ 应对双十一流量洪峰的“六大武器”。


消息队列 RocketMQ 的“六大武器”


双十一的流量洪峰究竟会给用户和商家系统业务带来哪些问题?消息队列 RocketMQ 的“六大武器”是如何解决这些问题的呢?小编带您初探一二:


武器一:“异步解耦”


背景:双十一的 夜晚,当用户在手机上“指点江山”时,可曾想,一个小小的购物 APP 背后其实是一个个庞大的系统,从用户选购商品的那一刻起,就要和成百个业务系统打交道,每一笔交易订单数据都会有几百个下 游业务系统的关联,包括物流、购物车、积分、直充、流计算分析等等,整个系统庞大而且复杂,架构设计稍有不合理,将直接影响主站业务的连续 性。


面对如此复杂且庞大的系统,避免系统业务之间相互耦合影响,便要用到消息队列 RocketMQ 的“异步解耦”功能,通过消息队列 RocketMQ 实现上、下游业务系统松耦合,松耦合可以降低系统的复杂度,缩短用户请求的响应时间(将原多个步骤的所需时间之和压缩到只需一条消息的时间),保证下游某个子系统的故障不影响整个链路。


3.png


武器二:“削峰填谷”


背景:在处理完交易业务背后庞大的系统所带来的耦合性问题后,从用户视角出发来看,双十一期间 0 点这个时间有成百上千万的用户在同时点击着购买页面,由于用户海量请求,导致流量激增,面对如此大量的访问流量,下游的通知系统可能无法承载海量的调用量,甚至会导致系统崩溃等问题而发生漏通知的情况。


为解决这些问题,就要用到消息队列 RocketMQ 的“削峰填谷”功能,可在应用和下游通知系统之间加入消息队列 RocketMQ,RocketMQ 支持高并发的消息低延迟写入,以及无限的堆积能力,可以避免超高流量的冲击,确保下游业务在安全水位内平滑稳定的运行。


4.png


武器三:“分布式事务消息”


背景:通过前面的介绍了解到,通过消息的异步解耦,可实现消息的分布式处理,在传统的分布式事务处理方式中,用户创建了一条新的订单信息,伴着这条订单信息的变更,在整个业务链条中的购物车、用户表、积分等都需要变更,系统需要借助分布式事务协调组件来保证多个业务调用的事务一致性。传统的分布式事务组件追求强一致性,性能吞吐低,系统复杂。那如何才能既实现分布式事务,同时又不使系统过于复杂?


这个时候消息队列 RocketMQ 的“分布式事务消息”的功能便起到了关键作用,通过原创的轻量级订单流转事务协调能力,只需发送一条消息,就可以实现消息最终一致性的分布式事务,同时确保订单状态持久化和下游调用一致。


5.png


武器四:“消息过滤”


背景:通过以上介绍会发现从客户下单到客户收到商品这一过程会生产一系列消息,按消息种类可以分为交易消息、物流消息、购物车消息等,如何保证各个种类的消息进行有效投递并被准确消费?


这时候就要用到消息队列 RocketMQ 的“消息过滤”功能,可以通过 Tag 给不同种类的消息定义不同的属性,根据消息属性设置过滤条件对消息进行过滤,只有符合过滤条件的消息才会被投递到消费端进行消费。比如给物流消息定义地域属性,按照地域分为杭州和上海:

  • 订单消息
  • 物流消息
  • 物流消息且地域为杭州
  • 物流消息且地域为上海


6.png


武器五:“定时消息”


背景:除了以上系统级别中可能出现的问题外,用户自己在购物过程中可能都遇到过一些小细节,比如在点击了购买按钮后,会出现“请您在 30 分钟内完成支付”的提示,如果超过 30 分钟未支付,订单就会自动关闭。


这个业务用到的是消息队列 RocketMQ 的“定时消息”功能,消息队列 RocketMQ 可以实现自定义秒级精度间隔的定时消息,通过消息触发一些定时任务,比如在某一固定时间点向用户发送提醒消息,最终实现海量订单状态变更超时的中心调度。


7.png


image.gif武器六:“顺序收发”


背景:在双 11 大促中,买家业务侧和交易系统本身会面临诸多问题,卖家侧也会遇到一些难点,比如,买家买了东西,卖家自己却看不到。


为了解决这个问题,一般需要使用消息队列的顺序消息同步能力将买家表的变更订阅同步到卖家表。此时依赖 RocketMQ 的无热点、高性能、高可靠顺序消息可以保障数据库变更的顺序同步,保证买卖家订单同步。


8.png


总结


通过以上介绍,带您了解了消息队列 RocketMQ 的六大武器在双十一“战场”上的威力,2021 年“双十一”开战在即,消息队列 RocketMQ 为您双十一的业务保架护航,同时铂金版可提供 99.99% 的服务可用性和 99.99999999% 的数据可靠性,联系我们,期待陪您的业务一起在 2021 双十一中“乘风破浪”。


9.png

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
12月前
|
消息中间件 Cloud Native 中间件
带你读《企业级云原生白皮书项目实战》——4.1.1 消息队列RocketMQ版概述
带你读《企业级云原生白皮书项目实战》——4.1.1 消息队列RocketMQ版概述
183 0
|
12月前
|
消息中间件 存储 运维
带你读《企业级云原生白皮书项目实战》——4.1.2 消息队列RocketMQ版的优势
带你读《企业级云原生白皮书项目实战》——4.1.2 消息队列RocketMQ版的优势
513 0
|
12月前
|
消息中间件 Cloud Native 中间件
带你读《企业级云原生白皮书项目实战》——4.1.3 消息队列RocketMQ版最佳实践(上)
带你读《企业级云原生白皮书项目实战》——4.1.3 消息队列RocketMQ版最佳实践(上)
365 0
|
12月前
|
消息中间件 存储 数据采集
带你读《企业级云原生白皮书项目实战》——4.1.3 消息队列RocketMQ版最佳实践(下)
带你读《企业级云原生白皮书项目实战》——4.1.3 消息队列RocketMQ版最佳实践(下)
340 0
|
消息中间件 存储 Prometheus
消息队列 RocketMQ 遇上可观测:业务核心链路可视化
本篇文章主要介绍 RocketMQ 的可观测性工具在线上生产环境的最佳实践。RocketMQ的可观测性能力领先业界同类产品,RocketMQ 的 Dashboard 和消息轨迹等功能为业务核心链路保驾护航,有效应对线上大规模生产使用过程中遇到的容量规划、消息收发问题排查以及自定义监控等场景。
298 0
消息队列 RocketMQ  遇上可观测:业务核心链路可视化
|
消息中间件 安全 调度
消息队列RocketMQ应对双十一流量洪峰的“六大武器”
消息队列 RocketMQ 是如何帮助各企业交易系统扛住瞬间千万级 TPS、万亿级流量洪峰的冲击,并保持各个应用之间的消息通畅的呢?下文将为您介绍消息队列 RocketMQ 应对双十一流量洪峰的“六大武器”。
141 0
消息队列RocketMQ应对双十一流量洪峰的“六大武器”
|
消息中间件 存储 运维
基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
Apache RocketMQ 作为阿里巴巴开源的支撑万亿级数据洪峰的分布式消息中间件,在众多行业广泛应用。在选型过程中,开发者一定会关注开源版与商业版的业务价值对比。 那么,今天就围绕着商业版本的消息队列 RocketMQ和开源版本 RocketMQ 进行比较,并结合实践中场景全面展示大型分布式应用的上云最佳实践。
242 0
基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
|
消息中间件 存储 前端开发
同步异步调用,并谈谈消息队列mq;RocketMQ发送消息和消费消息测试类
同步调用优点: 时效性强,打电话、直播,很快可以得到结果 同步调用的问题:
497 1
|
消息中间件 存储 Cloud Native
消息队列 RocketMQ 5.0:从消息服务到云原生事件流平台
回顾 RocketMQ 的发展历程,至今已十年有余。2022 年 RocketMQ 5.0 正式发布,全面迈进云原生时代。
消息队列 RocketMQ 5.0:从消息服务到云原生事件流平台
|
消息中间件 存储 RocketMQ
消息队列RocketMQ
消息队列RocketMQ
159 0

相关产品

  • 云消息队列 MQ