![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RocketMq
文章平均质量分 53
我不是攻城狮
越努力越幸运
展开
-
RocketMq Broker源码
NameServer 在收到来自 Broker 的心跳消息后,更新 BrokerLiveInfo 中的 lastUpdateTimestamp,如果 NameServer 长时间未收到 Broker 的心跳信息,NameServer 就会将其移除。brokerAddrTable:维护了 Broker Name 和 Broker 元信息的映射关系,Broker 通常以 Master-Slave 架构部署,BrokerData 记录了同一个 Broker Name 下所有节点的地址信息。原创 2024-06-04 17:03:32 · 214 阅读 · 0 评论 -
RocketMQ consumer DefaultLitePullConsumerImpl 拉模式
推模式做了封装,Broker启动时会将PullRequest封装起来,通过callback设计模式让consumer自行拉取消息,表面看起来时推消息,实际还是consumer自行拉取。4、长轮询优化:使用延时Task处理PullRequest,每隔5秒拉取消息,当处理大批量消息,延迟任务变更为10秒。1、从阻塞队列里面消费PullRequest,PullRequest调用netty client做出Response。拉模式是由consumer主动去拉取消息,自行从阻塞队列里面拉取PullRequest。原创 2024-06-04 15:23:19 · 333 阅读 · 0 评论 -
Rocketmq MQClientInstance源码
开启netty client 拉取服务端数据。原创 2023-11-30 00:17:37 · 370 阅读 · 0 评论 -
RocketMQ consumer DefaultMQPushConsumerImpl推模式
consumer启动服务时候,当consumer订阅消息时需要重新负载均衡。原创 2023-11-28 14:46:42 · 427 阅读 · 0 评论 -
Rocketmq架构
RocketMQ提供多种发送方式,同步发送、异步发送、顺序发送、单向发送。:消息中转角色,负责存储消息、转发消息。Broker服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。:表示一类消息的集合,每个Topic包含若干条消息,每条消息只能属于一个Topic,是RocketMQ进行消息订阅的基本单位。:作为注册中心,提供路由注册、路由踢出、路由发现功能,舍弃强一致,保证高可用,集群中各个节点不会实时通讯,其中一个节点下线之后,会提供另外一个节点保证路由功能。原创 2023-11-27 19:29:08 · 679 阅读 · 0 评论 -
Rocketmq namesrv源码
NameServer和每个Broker保持长连接,每隔30秒接收Broker发送的心跳包,同时自身每个10秒扫描BrokerLiveTable,比较上次收到心跳时间和当前时间比较是否大于120秒,如果超过,那么认为Broker不可用,剔除路由表中该Broker相关信息。路由发现不是实时的,路由变化后,NameServer不主动推给客户端,等待producer定期拉取最新路由信息。Namesrv作为注册中心,提供路由注册、路由踢出、路由发现功能,舍弃强一致,保证高可用。1、namesrv集群不会互相通讯。原创 2023-11-27 19:24:08 · 467 阅读 · 0 评论 -
Rocketmq producer源码
中的延迟故障机制是为了帮助Producer能够通过消息发送延迟或者消息发送结果主动感知Broker忙碌或者故障,消息发送延迟或者消息发送失败时可以将Broker排除在选择列表之外。这个机制默认是不开启的,如果需要开启这个机制需要在创建Producer时主动开启。原创 2023-11-26 03:08:46 · 1026 阅读 · 0 评论