ps6做网站点哪里保存,杭州企业网站制作公司,wordpress 重写分页,大连知名的seo外包欢迎来到我的博客#xff0c;代码的世界里#xff0c;每一行都是一个故事 搭建消息时光机#xff1a;深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用 引言前言第一#xff1a;开启插件支持第二#xff1a;springboot整合第三#xff1a;效果展示交换机属… 欢迎来到我的博客代码的世界里每一行都是一个故事 搭建消息时光机深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用 引言前言第一开启插件支持第二springboot整合第三效果展示交换机属性展示功能实现展示 第四使用场景使用场景 总结结语 引言
docker构建rabbitmq并配置延迟队列插件
⏳Spring Boot中的RabbitMQ死信队列魔法从异常到延迟一网打尽【RabbitMQ实战 一】
ℹ️RabbitMQ插件详解rabbitmq_recent_history_exchange【RabbitMQ 七】
前言
在编程的世界里时间似乎总是紧迫的。但是如果你有了一台消息时光机就能够轻松穿越异步通信的时空实现更为精准的消息处理。今天我们将探索RabbitMQ_recent_history_exchange这个神奇的时光机看看它如何与Spring Boot一同构建异步通信的未来
第一开启插件支持 对于RabbitMQ3.6.0或更高版本此插件已经内置到RabbitMQ中 ⭐️开启方式
# 非docker搭建或已经进入到容器内的
rabbitmq-plugins enable rabbitmq_recent_history_exchange
# docker-compose搭建或docker搭建
docker exec myRabbitmq rabbitmq-plugins enable rabbitmq_recent_history_exchange
# 其中myRabbitmq为你的容器名称配置成功return 第二springboot整合 这里基础的整合和上面引言中的实战是一样的就不过多的赘述了只贴出关键性代码以及相应的实现 Bean
public CustomExchange exchange() {MapString, Object args new HashMap();args.put(x-recent-history-length, 100); // 使用插件提供的 x-delayed-type 参数return new CustomExchange(MQ_EXCHANGE,x-recent-history, true, false,args);
}1️⃣ args.put(x-recent-history-length, 100);指的是此交换将存储通过交换发送的最新 100条消息
2️⃣ CustomExchange(MQ_EXCHANGE,x-recent-history, true, false,args)指定类型为x-recent-history
3️⃣防止存储某些消息 如果您不想存储某些消息只需将x-recent-history-no-store带有值的标头添加true到消息中即可。 第三效果展示
交换机属性展示 下图可以明显的看到交换机的类型以及存储的最大条数 功能实现展示 要清楚的看到最后的实现效果需要进行如下几步 1️⃣上面都配置好且交换机创建成功
2️⃣需要实现一个队列去绑定上面的交换机且发送一些消息
3️⃣再创建一个新的队列绑定上面的交换机即可出现以下效果 上面的testQueue是新创建的队列可以发现交换机会自动向其推历史的消息 第四使用场景
rabbitmq_recent_history_exchange 插件的实际使用场景通常涉及到需要在消费者订阅某个交换机时获取历史消息的情况。这在一些特定的应用场景中是非常有用的以下是一些可能的使用场景和总结
使用场景 新加入的消费者获取历史消息 当一个新的消费者加入系统时它可能需要获取之前已经发布到交换机上的消息以确保不会错过重要的信息。这在一些实时通讯或实时监控系统中比较常见。 应用重启时的数据同步 在应用程序重启时如果需要将某些历史数据同步到内存中可以使用 rabbitmq_recent_history_exchange 来获取之前的消息而不是从数据库等持久化存储中重新加载。 实时数据流 对于实时数据流应用新的消费者加入时可能需要获取历史数据以确保对整个数据流的完整性有一个良好的认知。 数据快照 在某些场景中需要定期或事件触发地获取一段时间内的消息数据快照。rabbitmq_recent_history_exchange 可以用于在特定时刻获取消息的快照。
总结 优势 提供了在订阅时获取历史消息的机制简化了对历史数据的处理使得新的消费者能够更容易地获取之前的消息。 适用性 适用于需要在消费者订阅时获取历史消息的场景特别是那些对实时性要求不是非常严格的应用。 注意事项 对于对实时性要求非常高的场景可能需要谨慎使用因为历史消息的获取可能引入一定的延迟。 配置参数 需要根据实际需求合理配置交换机和队列的参数如历史消息的长度和过期时间。
总体而言rabbitmq_recent_history_exchange 插件为 RabbitMQ 提供了一种在特定场景下简化历史消息获取的机制提高了系统的灵活性。在使用时需要根据具体业务需求和性能要求来权衡是否使用以及如何配置。
结语
深深感谢你阅读完整篇文章希望你从中获得了些许收获。如果觉得有价值欢迎点赞、收藏并关注我的更新期待与你共同分享更多技术与思考。