Kafka中的ISR、AR又代表什么?ISR的伸縮又指什么?


相信大家已經對 kafka 的基本概念已經有一定的了解了,下面直接來分析一下 ISR 和 AR 的概念。

ISR and AR

簡單來說,分區中的所有副本統稱為 AR (Assigned Replicas)。所有與leader副本保持一定程度同步的副本(包括leader副本在內)組成 ISR (In Sync Replicas)。 ISR 集合是 AR 集合的一個子集。消息會先發送到leader副本,然后follower副本才能從leader中拉取消息進行同步。同步期間,follow副本相對於leader副本而言會有一定程度的滯后。前面所說的 ”一定程度同步“ 是指可忍受的滯后范圍,這個范圍可以通過參數進行配置。於leader副本同步滯后過多的副本(不包括leader副本)將組成 OSR (Out-of-Sync Replied)由此可見,AR = ISR + OSR。正常情況下,所有的follower副本都應該與leader 副本保持 一定程度的同步,即AR=ISR,OSR集合為空。

ISR 的伸縮性

leader副本負責維護和跟蹤 ISR 集合中所有follower副本的滯后狀態,當follower副本落后太多或失效時,leader副本會把它從 ISR 集合中剔除。如果 OSR 集合中所有follower副本“追上”了leader副本,那么leader副本會把它從 OSR 集合轉移至 ISR 集合。默認情況下,當leader副本發生故障時,只有在 ISR 集合中的follower副本才有資格被選舉為新的leader,而在 OSR 集合中的副本則沒有任何機會(不過這個可以通過配置來改變)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM