MQ
文章平均质量分 63
jyx_boy
这个作者很懒,什么都没留下…
展开
-
SpringBoot集成RockerMQ
RocketMQ支持指定级别的延迟消息,即只能设置预设的几个时间等级的延迟,而不是任意时间延迟。目前RocketMQ社区版并不支持任意时间的精确延迟,RocketMQ在4.x版本只能够支持18种内置的延迟消息(1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h),具体实现方式是在发送消息时设置消息的延迟等级。原创 2024-04-11 20:48:30 · 286 阅读 · 1 评论 -
RocketMQ安装
【代码】RocketMQ安装。原创 2024-04-11 20:39:06 · 189 阅读 · 0 评论 -
Rabbitmq怎么保证消息的可靠性?
为保证消息可靠性,可以设置autoAck=false,使得消费者在处理完消息后手动发送确认(basicAck)。开启confirm回调模式后,RabbitMQ会在消息成功写入到磁盘并至少被一个交换器接受后,向生产者发送一个确认(acknowledgement)。当消息不能被正常消费时(比如达到最大重试次数),可以通过设置TTL(Time To Live)或者死信交换器(Dead Letter Exchange)将消息路由至死信队列,从而有机会后续分析和处理这些无法正常消费的消息。原创 2024-04-09 21:26:28 · 848 阅读 · 0 评论 -
生产端消息可靠性保证: 确认(Confirm)机制
PostConstruct注解是Java EE规范中的一部分,主要用于标记在一个Bean初始化完成后需要执行的方法。这个注解由JSR-250定义,并且在Spring框架以及其他遵循Java EE标准的应用服务器中广泛支持。当容器完成对Bean的实例化并且所有依赖注入完成后,将会自动调用标有注解的方法。这为开发者提供了一个机会,在对象正式投入使用之前进行一些必要的初始化工作,比如初始化资源、预计算某些值、启动后台任务等增强。原创 2024-04-09 21:24:09 · 426 阅读 · 0 评论 -
延迟 队列
该种方式可以创建一个承载不同超时时间消息的消息队列,但是这种方式有一个问题,如果消息队列中排在前面的消息没有到超时时间,即使后面的消息到了超时时间,先到超时时间的消息也不会进入死信队列,而是先检查排在最前面的消息队列是否到了超时时间,如果到了超时时间才会继续检查后面的消息。上述实现方式中,ttl延时队列中所有的消息超时时间都是一样的,如果不同消息想设置不一样的超时时间,就需要建立多个不同超时时间的消息队列,比较麻烦,且不利于维护。17:30 延迟时间: 13*30 * 60 * 1000。原创 2024-04-09 19:30:57 · 1499 阅读 · 0 评论 -
MQ应答模式
如果消费者在处理消息前断开了连接,或者在处理消息期间抛出了未捕获的异常,RabbitMQ会认为消息未被正确处理,从而重新排队消息,确保消息至少会被消费一次(at least once delivery)。采用手动应答可以提高消息的可靠性,即使消费者在处理消息过程中出现问题,只要未发送ack确认,RabbitMQ会在重新连接后再次将消息发送给该消费者。不在乎消费者对消息处理是否成功,都会告诉队列删除消息。方法来确认消息处理完成,RabbitMQ只有在接收到消费者的确认后才会将消息从队列中删除。原创 2024-04-08 19:56:40 · 975 阅读 · 0 评论 -
SpringBoot整合RabbitMQ
中配置RabbitMQ服务器的连接参数。把String换成对象。原创 2024-04-07 21:20:04 · 382 阅读 · 1 评论 -
什么是MQ ?为什么用MQ?
MQ(message queue)(消息队列),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。原创 2024-04-07 20:44:35 · 4123 阅读 · 0 评论