一致性定义:若某条消息对Consumer可见,那么即使Leader宕机了,在新Leader上数据依然可以被读到
* HighWaterMark简称HW: Partition的高水位 。取一个partition对应的ISR中最小的LEO作为HW 。消费者最多只能消费到HW所在的位置 。另外每个replica都有highWatermark 。leader和follower各自负责更新自己的highWatermark状态 。highWatermark <= leader. LogEndOffset
* 对于Leader新写入的msg 。Consumer不能立刻消费 。Leader会等待该消息被所有ISR中的replica同步后,更新HW,此时该消息才能被Consumer消费 。即Consumer最多只能消费到HW位置
这样就保证了如果Leader Broker失效,该消息仍然可以从新选举的Leader中获取 。对于来自内部Broker的读取请求,没有HW的限制 。同时,Follower也会维护一份自己的HW,Folloer.HW = min(Leader.HW, Follower.offset)
- 庄家洗盘的目的是什么?
- 山楂泡水是干的好还是新鲜的好
- 在一支股票主拉升阶段,如何才能做到不被中途震荡洗出来?
- 冰糖炖雪梨是药膳吗
- 与海尔集团合作 专业选智能制造还是选机器人工程(与中科新松合作)好?薪酬高吗?
- 如何识别主力是否正在洗盘?
- 什么是洗盘和出货?两者有什么区别?
- 如何实现快速建站?
- 高位十字星是好是坏?
- 如何做好网站建设?
