RocketMQ - Producer 发送消息

2019.12.20

思考?

如果有一台 Broker (master) 宕机了会怎么样?

生产者写入会失败, 并重试两次(VKMQ也会重试,但是只有在 SYSTEM_BUSY 时重试)

如果 nameserver 全挂了,还能正常发消息吗?

发送消息时会先读取本地的 topicRouteInfo 缓存,......

RocketMQ - 已存在消费组如何直接消费最新消息

2019.12.20

一. 介绍:

innerConsumer.registerMessageListener((MessageListenerOrderly) (msgs, context) -> {

final ReceivedMessage receivedMessage = convertMessage(m......

RocketMQ - Consumer 启动

2019.12.20

一般而言,对于获取消息来说有两种方式,分别为 push、pull,下面是两种方式的优劣:

push:由服务端主动将消息推送给客户端,可以保证消息的实时性,但是一但消费者消费速度过慢时(处理不过来推送过来的消息),就会导致消费者本地缓冲溢出从而导致异常

pull:轮询请求的消息时,间隔过大会......

RocketMQ - Producer 启动

2019.12.20

一. Producer 初始化过程:

checkConfig

与 nameServer 通信,定时获取 topic 配置信息 1

与 broker 通信,定时发送心跳 & 在本地去除无效 broker 2

二. 源码解读:1. DefaultMQProducer.java

RocketMQ - Consumer Rebalance

2019.12.20

一. 介绍:

Rebalance 是 consumer 针对 topic 根据 MessageQueue 分配策略1 做重分配

启动时机:

启动后立即执行一次,之后每隔 2000ms