Apache RocketMQ 从入门到实战打下牢固的基础。 一、RocketMQ 部署架构 在 RocketMQ 主要的组件如下: 1. Nameserver Nameserver 集群,topic 的路由注册中心,为客户端根据 Topic 提供路由服务,从 而引导客户端向 Broker 发送消息。Nameserver 之间的节点不通信。路由信息在 Nameserver 集群中数据一致性采取的最终一致性。 2. Broker 消息存储服务器,分为两种角色:Master 由信息。 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 11 > 1.1 RocketMQ 核心概念扫盲篇 3. Client 消息客户端,包括 Producer(消息发送者)和 Consumer(消费消费者).客户端在同一 时间只会连接一台 nameserver,只有在连接出现异常时才会向尝试连接另外一台。客户 端每隔 30s 向 Nameserver 发起 topic 在实际过程中,对主题进行扩容(增加队列个数)或者对消费者进行扩容、缩容是一件非 常寻常的事情,那如果新增一个消费者,该消费者消费哪些队列呢?这就涉及到消息消费队 列的重新分配,即消费队列重平衡机制。 在 RocketMQ 客户端中会每隔 20s 去查询当前 topic 的所有队列、消费者的个数,运 用队列负载算法进行重新分配,然后与上一次的分配结果进行对比,如果发生了变化,则进 行队列重新分配;如果没有发生变化,则忽略。0 码力 | 165 页 | 12.53 MB | 1 年前3
RocketMQ v3.2.4 开发指南... 31 11 客户端使用挃南 ...................................................................................................................................................... 31 11.1 客户端如何寻址 ......... ..... 31 11.2 自定丿客户端行为 ......................................................................................................................................... 32 11.2.1 客户端 API 形式 ............ .................................................................................... 32 11.2.2 客户端的公共配置 .............................................................................................0 码力 | 52 页 | 1.61 MB | 1 年前3
消息中间件RocketMQ原理解析 - 斩秋topic,依次调 rebalanceByTopic 根据 topic 获取此 topic 下的所有 queue 选择一台 broker 获取基于 group 的所有消费端(有心跳向所有 broker 注册客户端信息) 选择队列分配策略实例 AllocateMessageQueueStrategy 执行分配算法,获取队列集合 SetmqSet 1) 平均分配算法,其实是类似于分页的算法 计算任务执行的时间如果大于一分钟且线程数小于队列数情况下,将 processqueue, messagequeue 重新构建 ConsumeRequest 加到线程池 10ms 后在消费,这样防止个别队列被 饿死 获取客户端的消费批次个数,默认一批次为一条 从 proccessqueue 获取批次消息, processqueue.takeMessags(batchSize) , 从 msgTreeMap 中移除消息放到临时 broker 上去 六:pull 消息消费 消费者主动拉取消息消费,客户端通过类 DefaultMQPullConsumer 客户端可以指定特定 MessageQueue 也可以通过 DefaultMQPullConsumer. fetchMessageQueuesInBalance(topic) 0 码力 | 57 页 | 2.39 MB | 1 年前3
王强-Apache RocketMQ事务消息TransactionalMessageCheckService Half Msgs channel PID: Available Netty Channels 1 2 3 客户端代码示例例 基于Spring-Boot的客户端示例例 https://github.com/apache/rocketmq-externals/rocketmq-spring-boot-starter 多分⽀支分布式事务0 码力 | 34 页 | 6.17 MB | 1 年前3
基于Apache APISIX 与RocketMQ 构建云原生一体化架构面向失败 松散耦合 基础设施解耦 极致弹性 多场景适应 低成本 高 SLA X 客户价值: X 多场景 云原生时代的挑战 云原生四要素 云原生时代的 RocketMQ admin 富客户端 轻量级 SD K API兼容 计算 云存储 VPC 网络 Kubernetes Name Server Name Server Name Server 计算集群 可观测 remoting Consumer 与 Queue 的 Binding 关 系,一个 Queue 可以由多个消费者消费 无 rebalance ,降低消费延迟概率 集群中某些消费端假死不影响整体消费进度 客户端更加轻量,多语言友好 流批一体 在Streaming场景下,单一消费者消费保证顺 序 在 batch 场景下,无需保证顺序,可以多个 consumer 加快数据读取速度 你集群是0 码力 | 22 页 | 2.26 MB | 1 年前3
共 5 条
- 1













