博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RocketMQ中消息的优先级
阅读量:7209 次
发布时间:2019-06-29

本文共 554 字,大约阅读时间需要 1 分钟。

hot3.png

    本文主要介绍RocketMQ中消息优先级的设置方法。

一.JMS中JMSPriority

    JMSPriority 头字段包含了消息的优先级。在消息被发送的时候,这个字段被忽略,当消息发送完成后,它持有了发送方法指定的值。 JMS定义了10级的优先级, 0作为最低级, 9是最高级。除此之外,客户端可以认为0-4级是普通优先级,而5-9作为加速优先级。 JMS不强迫提供者严格实现消息的优先级顺序,但是,最好实现加速消息先于普通消息。JMS规范地址:

 

二.RocketMQ中消息优先级

    RocketMQ 并不遵循任何规范,但参考了各种规范的设计思想。考虑到持久化的消息按照优先级排序开销大,RocketMQ 没有特意支持消息优先级。查看了代码,在Message的API中,的确没有提供和Priority(优先级)有关的方法。

    有两种变通的处理思路供参考:

    1.使用消息队列来表示不同的优先级:单独配置一个优先级高的队列,和一个普通优先级的队列, 将不同优先级发送到不同队列即可;

    2.使用Topic来表示不同的优先级:每个优先级可以用不同的 topic 表示,发消息时,指定不同的 topic 来表示优先级。

 

转载于:https://my.oschina.net/javamaster/blog/2051742

你可能感兴趣的文章
Script:ASM修复脚本,寻找LISTHEAD和Kfed源数据
查看>>
ubuntu开机进入字符界面方法
查看>>
硬盘常见故障
查看>>
python 自动下载网站相关附件
查看>>
centos 6.5安装视频解码器
查看>>
Freeradius, 执行 radtest, 出现错误
查看>>
Android启动出现白屏的解决办法(theme)
查看>>
设计模式之单例设计模式
查看>>
LVS DR模型详解
查看>>
linux 源码安装Rabbitmq
查看>>
python 练习-登录接口
查看>>
pt-heartbeat 监测RDS延迟
查看>>
使用IDEA导入工程时无反映的问题处理
查看>>
python selenium爬取kuku漫画
查看>>
关闭“一致性网络设备命名法” 修改centos网卡名称为 eth0
查看>>
VTP 导致的网络故障
查看>>
puppet自动化运维之package资源
查看>>
细说Java的继承
查看>>
数据库9:联结表 高级联结 组合查询 全文本搜索
查看>>
linux软raid下线后恢复
查看>>