首页 > 其他分享 >rocketmq--中的7种消息类型

rocketmq--中的7种消息类型

时间:2024-01-23 17:01:22浏览次数:40  
标签:场景 -- 发送 消费 消息 类型 Message rocketmq

RocketMQ 支持多种消息类型,每种类型都适用于不同的业务场景。下面是一些常见的消息类型及其特点:

  1. 普通消息(Normal Message)

    • 这是最基本的消息类型,没有任何特殊属性。生产者发送消息到指定的主题,消费者从主题订阅并消费这些消息。普通消息不保证严格的顺序。
  2. 顺序消息(Ordered Message)

    • 顺序消息保证同一个队列(Message Queue)中的消息被顺序消费。这对于需要严格按照消息发送顺序执行的业务场景(如订单创建、支付、发货等)非常有用。
  3. 延时消息(Delayed Message)

    • 延时消息允许生产者发送消息后,消息不会立即被消费,而是在指定的延时时间后才可被消费。这适用于需要在未来某个时间点执行任务的场景。
  4. 事务消息(Transaction Message)

    • 事务消息允许将本地事务和消息发送结合起来。生产者发送半消息(Prepared Message),本地事务执行成功后,再确认消息,此时消费者才能消费该消息。如果本地事务执行失败,则回滚消息。这适用于确保本地事务和消息发送两者要么都成功,要么都不成功的场景。
  5. 批量消息(Batch Message)

    • 批量消息允许生产者将多个消息打包成一个批次发送,这可以显著提高传输效率和吞吐量。批量消息适用于消息体较小且发送频率较高的场景。
  6. 过滤消息(Filter Message)

    • 过滤消息允许消费者根据消息的属性(如 tags、keys 等)来过滤消息,只消费符合特定条件的消息。这提供了一种灵活的消息订阅方式,减少了不必要的消息传输。
  7. 死信消息(Dead Letter Message)

    • 当消息重试消费仍然失败,超过最大重试次数后,消息会被发送到一个特殊的死信队列。应用可以监控这个队列来处理无法正常消费的消息,例如进行告警或人工干预。

每种消息类型都有其适用的场景,开发者可以根据业务需求选择合适的消息类型来优化系统的性能和可靠性。

标签:场景,--,发送,消费,消息,类型,Message,rocketmq
From: https://www.cnblogs.com/xylfjk/p/17982863

相关文章

  • 安装Kaspersky Endpoint Security for Windows (12.3.0) 失败,提示安装了 360 Antiviru
    最近,在升级卡巴斯基KES时,部分用户出现安装失败,提示已安装360杀毒软件,需要卸载后再安装。用户已经删除所有360软件。 经过测试,需要在注册表删除:HKEY_CURRENT_USER下面的software里面360和2345的东西。HKEY_LOCAL_MACHINE下面的software中有关360和2345的东西。HKEY_LOCAL_MAC......
  • KnightCTF 2024 WEB做题记录
    WEBLeviAckerman题目信息LeviAckermanisarobot! N:B:Thereisnoneedtodobruteforce. Author:saifTarget:http://66.228.53.87:5000/我的解答:签到题,题目提示了robot!直接访问robots.txt得到路径Disallow:/l3v1_4ck3rm4n.html再次访问路径得到flagK......
  • 单层应用升级到多层应用3
    接上文,我们已经初步完成了单层到多层的拆分,接下来就是再优化我们的结构了。升级思路在前文的Core项目中,包含了我们所有的基础功能,但是有些项目可能只需要部分功能却引用整一块Core的话,会显得有些多余,需要将这部分基础设施再做一下细致化的拆分。在Host项目中,仍旧还有许多功能代......
  • Inplementation of Binary Search Tree using recursion-local version 3【1月23日学
    点击查看代码#include<iostream>usingnamespacestd;structNode{intdata;Node*left,*right;//注意声明格式};Node*newNode(intx){Node*temp=newNode;temp->data=x;temp->left=temp->right=NULL;returntemp;}......
  • Resource temporarily unavailable
    -问题,无法登录用户# su-xeportalsu:cannotsetuserid:Resourcetemporarilyunavailable--查看当前系统该用户连接数# ps-uweblogic-L|wc-l10241原因是linux操作系统默认最大允许进程数是1024,当前节点hdfs用户开启进程数超过了该数字可以看到hdfs用户开启了1622个进......
  • 哈希学习笔记+杂题(基础2 字符串哈希)
    哈希杂题前言:骗分神器,我之前竟然没有学。一、哈希学习笔记+杂题(基础2字符串哈希)相关题单:戳我1.哈希(hash)简介哈希算法(HashAlgorithm),又称散列算法。有两种用法,第一种就是将一字符串转化成任意进制的数,目的是方便存储。第二种就是将大范围的数映射成小范围的数,目的也是方便存......
  • 在Windows和wsl2中互相网络访问(转)
    原文:https://blog.csdn.net/zx156955/article/details/135195563作者:kamjin1996来源:CSDN前言目前在windows与windows的wsl系统之间,还无法通过相对较固定的方式来互相网络访问,通常需要使用各自的ip来互相访问,而ip可能不是很直观并且可能会有变更,当前教程解决了这个问题,通过host......
  • 磁盘空间未释放
    [root@zabbixmysql]#lsof-n|grepdelete将对应的文件名杀掉就可以释放空间kill-9***(进程未$2) lsof输出各列信息的意义如下:COMMAND:进程的名称PID:进程标识符PPID:父进程标识符(需要指定-R参数)USER:进程所有者PGID:进程所属组FD:文件描述符,应用程序通过文件描述符识别该文件TYPE:......
  • mysqlbinlog~导出sql总结
    mysqlbinlog是MySQL数据库中的一个实用程序,它用于处理二进制日志文件(也称为“binlogs”)。这些文件包含了在MySQL服务器上发生的所有更改和操作的信息。mysqlbinlog工具可以帮助你查看、分析或者应用这些日志。基础介绍下面是一些关于mysqlbinlog的基本介绍:功能查看二进制日志......
  • C# 线程本地存储 为什么线程间值不一样
    一:背景1.讲故事有朋友在微信里面问我,为什么用ThreadStatic标记的字段,只有第一个线程拿到了初始值,其他线程都是默认值,让我能不能帮他解答一下,尼玛,我也不是神仙什么都懂,既然问了,那我试着帮他解答一下,也给后面类似疑问的朋友解个惑吧。二:为什么值不一样1.问题复现为了方便讲......