当前位置: 首页 > news >正文

RocketMQ概览

什么是RocketMQ

RocketMQ是一个开源的分布式消息中间件。它是一种 低延迟、高可用、高可靠、高并发 的消息队列系统,用于在分布式系统中进行异步通信。

为什么需要RocketMQ

RocketMQ作为一款高性能、高可用且功能丰富的分布式消息中间件 主要价值体现在下述
应用解耦
一个系统的输出 不依赖另一个系统的输出
打个比方 用户下单 之后扣库存 支付 然后后面发货等一系列操作 如果耦合在一起 后续任何一个操作发生异常都会影响用户的下单影响用户体验
而RocketMQ是通过发送消息到消息队列,接收方再从队列中消费消息进行处理。这种模式显著提高了系统的灵活性、可扩展性和容错性。

流量削峰
在高峰流量期间,RocketMQ可以通过暂时存储大量消息来保护下游服务不受过载影响,起到平滑流量的作用,从而保障整个系统的稳定性。

异步
比如用户注册 之后会发送一个短信 而为了更快的返回给用户注册成功的一个响应 可以将发送短信的这一操作交给MQ异步去处理 只需要MQ保证最终的一致性即可

主要特性

分布式架构
RocketMQ支持分布式部署,具有良好的水平扩展能力

消息可靠性
通过多种持久化策略(如同步刷盘和异步刷盘)保证消息不丢失,确保事务消息的最终一致性。

高并发处理
采用多线程模型实现高吞吐量的消息处理,能有效应对大规模流量场景。

顺序消息
对于需要严格消息顺序的业务场景,RocketMQ提供顺序消息功能。

负载均衡与容错机制
具备 broker 集群之间的负载均衡和故障转移能力。

使用场景

日志收集
作为大数据平台的数据入口,将分散的日志数据统一汇集到消息队列中,便于后续处理分析

异步任务处理
比如发送邮件、短信通知等非实时但需确保执行的任务

流量高峰 做削峰处理

RocketMQ优点/缺点

优点

高性能与高吞吐量
单机支持十万级的TPS(每秒事务数),特别适合大规模并发和海量消息处理场景

可靠性
提供消息持久化机制,通过刷盘策略保证消息不丢失;支持事务消息、顺序消息等特性,确保在金融、电商等领域关键业务流程中的消息投递准确无误。

分布式扩展性
基于分布式架构设计,支持水平扩展,能够随着业务增长进行节点添加,轻松应对负载增加。

多语言支持
开源生态与社区活跃度

缺点

集成复杂度
特定场景下的局限性

http://www.dtcms.com/a/319105.html

相关文章:

  • Kotlin中String的==相等比较符
  • STM32HAL 快速入门(一):点灯前的准备 —— 从软件安装到硬件原理
  • 利用微软SQL Server数据库管理员(SA)口令为空的攻击活动猖獗
  • 思途spring学习0807
  • Java -- Arrays类-- System类-- BigInteger和BigDecimal类
  • 串口通信02 温度传感DS18B20 01 day49
  • jetson上使用opencv的gstreamer进行MIPI和USB摄像头的连接以及udp推流
  • JAVA,Maven分模块设计
  • 语言模型(LM):n-gram模型原理与困惑度(Perplexity)计算详解
  • B-树与B+树
  • AI大模型专题:LLM大模型(初识)
  • dubbo的metadata-report是做啥的
  • 17.11 单卡24G显存微调GLM-4实战:QLoRA到全参数调优,准确率狂飙42.7%
  • Qt: WA_DontCreateNativeAncestors
  • 【缩点 拓扑序】P3119 [USACO15JAN] Grass Cownoisseur G|省选-
  • 【关于Java中==和equals( )和hashCode( )三者异同】
  • 写Rust GPU内核驱动:GPU驱动工作原理简述
  • 【性能测试】---测试工具篇
  • 医疗人效管理新标杆:盖雅工场如何赋能健康服务企业提质增效
  • 「iOS」————自动释放池底层原理
  • CSS包含块与百分比取值机制完全指南
  • 数据分析——Pandas库
  • 添加内容溢出时显示完整内容提示的功能
  • QT5.15 mingw
  • c++之 栈浅析
  • Python 数据类型及数据类型转换
  • platform总线简介和使用场景说明
  • 基于Ruby的IP池系统构建分布式爬虫架构
  • 《算法导论》第 9 章 - 中位数和顺序统计量
  • 网页图片视频一键下载+视频去重修改 ,覆盖B站等多个平台