手拉手RocketMQ消息跟踪与acl权限控制

举报
QGS 发表于 2024/03/29 22:29:21 2024/03/29
【摘要】 RocketMQ消息跟踪与acl权限控制


RocketMQ开启消息跟踪

消息轨迹简单来说就是日志,其把消息的生产、存储、消费等所有的访问和操作日志。


RocketMQ消息轨迹的优劣:


优势:

实时监控:消息轨迹可以实时记录消息的发送、消费等关键事件,提供实时监控和追踪能力,方便运维人员进行故障排查和性能优化。

故障定位:通过消息轨迹,可以准确地定位消息在整个消息队列系统中的位置,帮助快速定位故障点,提高故障排查效率。

业务分析:消息轨迹可以提供详细的消息流转信息,帮助业务人员进行数据分析和业务监控,了解消息的处理情况和延迟情况。

劣势:

存储开销:消息轨迹需要记录大量的消息流转信息,会增加存储开销。对于大规模的消息系统,可能需要额外的存储资源来支持消息轨迹功能。

网络开销:消息轨迹需要将消息流转信息发送到监控系统或存储系统,会增加网络开销。对于高并发的消息系统,可能会对网络带宽和性能造成一定影响

1.修改配置文件broker.conf ,添加traceTopicEnable=true

2.重启broker


3.生产者开启消息轨迹

enable-msg-trace: true

@Test
void sendTraceMsg() {
/**
* 发送同步消息
* destination 目的地-主题
* payload 消息
*/
rocketMQTemplate.syncSend("traceTopicTest", "轨迹消息");
}


MQ面板消息查询

24098A55348F66E0F191D52199A60918544063947C6B8FF3FF1D0000


4.消费者开启消息轨迹

开启消息轨迹,增加开销,性能下降

@Component
@RocketMQMessageListener(topic = "traceTopicTest",
consumerGroup = "traceConsumerGroup-springboot",
enableMsgTrace = true //开启消息轨迹,增加开销,性能下降
)
public class traceMQListener implements RocketMQListener<MessageExt> {

/**
* onMessage 消费者方法
* @param messages 消息内容
*/
@Override
public void onMessage(MessageExt messages) {
//不报错就是签收信息,
//报错就是重试,重试三次后还是报错,就代表消费失败,会重新入队 (根据yml配置)
System.out.println("接收到消息:"+new String(messages.getBody()));
}
}




RocketMQ开启用户acl权限控制

RocketMQ支持通过ACLAccess Control List)权限控制来保护消息队列的安全性

vim broker.conf

aclEnable=true



配置账号密码

vim plain_acl.yml


开启管理员账号


开启用户acl权限控制需要重启mqnamesrv


生产者

yml配置用户名密码连接RocketMQ

producer:
#用户名+密码
access-key: rocketmq2
secret-key: 12345678


消费者

yml配置用户名密码连接RocketMQ


consumer:
#用户名+密码
access-key: rocketmq2
secret-key: 12345678


rocketmq-dashboard-1.0.0 配置key


rocketmq-dashboard-1.0.0开启用户登入






【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。