消息队列服务节点
Broker 是什么?
真正存消息、投递消息的那台服务器
类比:快递驿站,包裹实际存放在这里
它是什么
Broker 是消息队列的服务端进程,负责接收生产者写入、落盘、维护 offset、响应消费者拉取。多个 Broker 组成集群,分区/队列分散在它们上面。
高可用怎么保证
每个分区有 1 个 Leader 和若干 Follower,分布在不同的 Broker 上。Leader 挂了,从 ISR(同步副本集合)里选一个新 Leader,客户端自动切换。
RocketMQ 用主从 + DLedger/Raft 做切换;Kafka 用 KRaft 或 ZooKeeper 做 Controller 选举。
- replication.factor ≥ 3 才能容忍一台机器故障
- min.insync.replicas = 2 配合 acks=all 才算真不丢
- 单机磁盘写满会直接拒绝写入,务必配监控