2022年8月14日
摘要: 一、什么是死信队列 当一条消息初次消费失败,消息队列会自动进行消费重试;达到最大重试次数后,若消费依然失败,则表明消费者在正常情况下无法正确地消费该消息,此时,消息队列不会立刻将消息丢弃,而是将其发送到该消费者对应的特殊队列中。这个队列就是死信队列(Dead-Letter Queue,DLQ),而其 阅读全文
posted @ 2022-08-14 23:01 格物致知_Tony 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 一、顺序消息的消费重试 对于顺序消息,当 Consumer 消费消息失败后,为了保证消息的顺序性,其会自动不断地进行消息重试,直到消费成功。消费重试默认间隔时间为 1000 毫秒。重试期间应用会出现消息消费被阻塞的情况。 DefaultMQPushConsumer consumer = new De 阅读全文
posted @ 2022-08-14 22:34 格物致知_Tony 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一、消息发送重试机制说明 Producer 对发送失败的消息进行重新发送的机制,称为消息发送重试机制,也称为消息重投机制。 对于消息重投,需要注意以下几点: 生产者在发送消息时,若采用同步或异步发送方式,发送失败会重试,但 oneway 消息发送方式发送失败是没有重试机制的 只有普通消息具有发送重试 阅读全文
posted @ 2022-08-14 21:55 格物致知_Tony 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 一、消息过滤 消息者在进行消息订阅时,除了可以指定要订阅消息的 Topic 外,还可以对指定 Topic 中的消息根据指定条件进行过滤,即可以订阅比 Topic 更加细粒度的消息类型。 对于指定 Topic 消息的过滤有两种过滤方式:Tag 过滤与 SQL 过滤。 1、Tag 过滤 通过 consu 阅读全文
posted @ 2022-08-14 21:41 格物致知_Tony 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 一、批量发送消息 发送限制 生产者进行消息发送时可以一次发送多条消息,这可以大大提升 Producer 的发送效率。不过需要注意以下几点: 批量发送的消息必须具有相同的 Topic 批量发送的消息必须具有相同的刷盘策略 批量发送的消息不能是延时消息与事务消息 批量发送大小 默认情况下,一批发送的消息 阅读全文
posted @ 2022-08-14 19:26 格物致知_Tony 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 一、问题引入 这里的一个需求场景是:工行用户 A 向建行用户 B 转账 1 万元。 我们可以使用同步消息来处理该需求场景: 工行系统发送一个给 B 增款 1 万元的同步消息 M 给 Broker 消息被 Broker 成功接收后,向工行系统发送成功 ACK 工行系统收到成功 ACK 后从用户 A 中 阅读全文
posted @ 2022-08-14 17:47 格物致知_Tony 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 一、延时消息 当消息写入到 Broker 后,在指定的时长后才可被消费处理的消息,称为延时消息。 采用 RocketMQ 的延时消息可以实现定时任务的功能,而无需使用定时器。典型的应用场景是,电商交易中超时未支付关闭订单的场景,12306 平台订票超时未支付取消订票的场景。 在电商平台中,订单创建时 阅读全文
posted @ 2022-08-14 17:24 格物致知_Tony 阅读(147) 评论(0) 推荐(0) 编辑