随笔分类 -  中间件

摘要:消费者端如何接收有序消息 队列消费的两种模式 并发消费模式 当同一类消息被送入不同队列,且这些消息在处理上并不需要按时序消费时,可以考虑使用并发消费模式。 并发消费模式生产者会将消息轮询发送到不同的队列当中,这些队列会和消费者实例建立多个连接(线程)将消息并发送入到不同的消费者。因为消费者处理速度有 阅读全文
posted @ 2022-09-30 13:53 JamKing 阅读(157) 评论(0) 推荐(0) 编辑
摘要:消费者基于自定义属性实现SQL过滤 在发送消息时,发送方可以自定义消息的用户属性,消费者可以利用SQL92的WHERE子句语法实现消息过滤。 相比Tag过滤,消息过滤使用更加灵活,也更容易被程序猿接受,但相较Tag过滤执行效率较低。 下面咱们来看案例: 消息生产者 com.itlaoqi.rocke 阅读全文
posted @ 2022-09-30 13:52 JamKing 阅读(88) 评论(0) 推荐(0) 编辑
摘要:消费者基于Tag实现消息过滤 在发送消息时,需要设置消息的“标记Tag”,Tag用于说明消息的某项特征,消费者可以根据这个特征决定是否接收这些消息。 消息发送者 com.itlaoqi.rocketmq.tagfilter.TfProducer,下面案例模拟了来自“京东”、“天猫”、“淘宝”的电商模 阅读全文
posted @ 2022-09-28 12:44 JamKing 阅读(569) 评论(0) 推荐(0) 编辑
摘要:集群消费模式与广播消费模式 环境准备 生产者CmProducer 生产者是一致的,循环生成10条普通消息投给给Broker,主题为:cm-sample-data ,Tag:test ,Key:n @Slf4j public class CmProducer { public static void 阅读全文
posted @ 2022-09-28 11:43 JamKing 阅读(363) 评论(0) 推荐(0) 编辑
摘要:消费者概述 几个关键概念 消费者组:一个逻辑概念,在使用消费者时需要指定一个组名。一个消费者组可以订阅多个Topic。 消费者实例:一个消费者组程序部署了多个进程,每个进程都可以称为一个消费者实例。 订阅关系:一个消费者组订阅一个 Topic 的某一个 Tag,这种记录被称为订阅关系。 PS:Roc 阅读全文
posted @ 2022-09-28 09:51 JamKing 阅读(171) 评论(0) 推荐(0) 编辑
摘要:RocketMQ发送消息之事务消息 先写库还是先发消息? 首先,咱们来看一下工作场景,订单ID1030被创建后要保存到数据库,同时该1030订单通过MQ投递给其他系统进行消费。如果要保证订单数据入库与消息投递状态要保证最终一致,要怎么做? 这里有两种常见做法: 第一种,先写库,再发送数据 //伪代码 阅读全文
posted @ 2022-09-19 11:44 JamKing 阅读(385) 评论(0) 推荐(0) 编辑
摘要:RocketMQ发送消息之延迟消息 延迟消息 ​ 延迟消息是指消息发送后,消费者要在一定时间后,或者指定某个时间点才可以消费。在没有延迟消息时,基本的做法是基于定时计划任务调度,定时发送消息。在 RocketMQ中只需要在发送消息时设置延迟级别即可实现。 Broker在启动时,内部会创建一个内部主题 阅读全文
posted @ 2022-09-19 10:56 JamKing 阅读(685) 评论(0) 推荐(0) 编辑
摘要:RocketMQ 高可用 消息生产消费流程 ​ Broker 即 MQ 服务器; ​ NameServer 可理解为注册中心。 Broker 主挂了的情况 Broker 主从都挂了的情况 Broker 双主挂了的情况 NameServer 挂了的情况 下面这种情况可能需要人为干预: NameServ 阅读全文
posted @ 2022-09-19 10:36 JamKing 阅读(52) 评论(0) 推荐(0) 编辑
摘要:RocketMQ消息发送之普通消息 架构拓扑 NameServer:192.168.31.103 Master:192.168.31.105 Slave:192.168.31.111 执行流程 Master与Slave启动向NameServer注册 生产者Producer发送数据前从NameServ 阅读全文
posted @ 2022-09-19 10:00 JamKing 阅读(54) 评论(0) 推荐(0) 编辑
摘要:RocketMQ发送消息之有序消息 假设没有分区时有什么问题? 如果某一笔业务产分为多条普通消息同时发送,消费者无法保证按按生产者预期的顺序进行消费,进而导致代码逻辑错误。 分区有序消息 分区有序消息:与Kafka中的分区类似,把一个Topic消息分为多个分区“保存”和消费,在一个分区内的消息就是传 阅读全文
posted @ 2022-09-16 14:01 JamKing 阅读(96) 评论(0) 推荐(0) 编辑
摘要:RocketMQ五种消息类型 普通消息:普通消息也称为并发消息,和传统的队列相比,并发消息没有顺序,但是生产消费都是并行进行的,单机性能可达十万级别的TPS。 分区有序消息:与Kafka中的分区类似,把一个Topic消息分为多个分区“保存”和消费,在一个分区内的消息就是传统的队列,遵循FIFO(先进 阅读全文
posted @ 2022-09-16 14:00 JamKing 阅读(223) 评论(0) 推荐(0) 编辑
摘要:生产者启动流程与消息发送流程 生产者概述 发送消息的一方被称为生产者,它在整个RocketMQ的生产和消费体系中扮演的角色。 生产者组:一个逻辑概念,在使用生产者实例的时候需要指定一个组名。一个生产者组可以生产多个Topic的消息。 生产者实例:一个生产者组部署了多个进程,每个进程都可以称为一个生产 阅读全文
posted @ 2022-09-14 17:29 JamKing 阅读(156) 评论(0) 推荐(0) 编辑
摘要:生产多Master多Slave环境部署实战 环境说明 NameServer 192.168.31.103 192.168.31.113 Broker-A Master:192.168.31.104 Slave:192.168.31.114 Broker-B Master:192.168.31.105 阅读全文
posted @ 2022-09-14 16:51 JamKing 阅读(146) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.