一致性定义:若某条消息对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)
推荐阅读
- 烟酰胺用一次要隔多久
- 同房后小腹痛有少量出血 同房后小腹痛什么原因引起的
- 修辞手法有哪几种小学三年级?修辞手法有哪几种及作用
- 地板砖十大品牌哪家好 地板砖十大品牌排行榜前十名
- 孕妇各个时期阶段营养食谱推荐 孕妇各个阶段的食谱
- 望洞庭古诗的意思_望洞庭古诗意思全解
- 商业策划书格式模板范文 商业策划书格式模板
- 车架号后6位怎么看?车架号后6位会有重复的么
- 海尔售后服务官方网站,海尔售后服务电话 官方网站