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

2024-03-30 11:20

本文主要是介绍手拉手RocketMQ消息跟踪与acl权限控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境介绍

技术栈

springboot+mybatis-plus+mysql+rocketmq

软件

版本

mysql

8

IDEA

IntelliJ IDEA 2022.2.1

JDK

17

Spring Boot

3.1.7

dynamic-datasource

3.6.1

mybatis-plus

3.5.3.2

rocketmq

4.9.4

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支持通过ACL(Access 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开启用户登入

这篇关于手拉手RocketMQ消息跟踪与acl权限控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/861358

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制