kafka における AR、ISR、OSR、HW、および LEO の違い

kafkaにおけるAR、ISR、OSRとHW、LEOの関係

Kafka ではパーティションのマルチコピー (レプリカ) メカニズムが導入されており、コピーの数を増やすことで災害復旧機能を向上させることができます。同じメッセージが同じパーティションの異なるコピーに保存されます (同時に、コピーは完全に同じではありません) コピー
間の関係は「1 つのマスターと多数のスレーブ」であり、リーダー コピーが処理を担当します。読み取りおよび書き込み要求。フォロワー コピーは、リーダー コピーとのメッセージ同期のみを担当します。. コピーは異なるブローカーにあり、リーダー コピーが失敗すると、フォロワーのコピーから新しいリーダーを再選して外部サービスを提供する. Kafka は、マルチコピー メカニズムを通じて障害の自動転送を実現し、Kafka クラスター内のブローカーに障害が発生した場合でも、サービスの利用を保証できます。

AR、ISR、OSR

In Kafka, producer and consumer only interact with the Leader copy , and the follower copy is only responsible for message synchronization. 多くの場合、フォロワー コピーのメッセージはリーダー コピーより遅れます。さまざまな同期状況に応じて、Kafka はレプリカを次のコレクションに分割します。

  • AR (Assigned Replicas) : パーティション内のすべてのレプリカをまとめて AR と呼びます。

  • ISR(On-Sync Replicas)リーダー レプリカとある程度同期しているすべてのレプリカ(リーダーコピーを含む) ISR を形成する

  • OSR (Out-of-Sync Replicas )遅れているレプリカをリーダ​​ー レプリカと同期する(リーダーコピー含まず) 構成

AR = ISR + OSR。デフォルトでは、リーダー コピーが失敗すると、ISR セット内のコピーのみが新しいリーダーとして選出される資格があります。

通常の状況では、フォロワー コピーはリーダー コピーと一緒に保持する必要があります。ある程度までの同期、つまり AR=ISR、OSR セットが空です。

ISR と OSR は固定されていません

  • リーダー コピーは、ISR セット内のすべてのフォロワーの遅れ状態を維持および追跡する責任があります. フォロワー コピーが遅れすぎたり失敗したりすると、リーダー コピーはそれを ISR セットから削除します
  • リーダー コピーに「追いつく」OSR セットにフォロワー コピーがある場合、リーダー コピーは OSR セットから ISR セットに転送されます。

ハードウェア、レオ

さらに、ISR はHWおよびLEOと密接な関係にあります。

  • HW : HW はHigh Watermarkの略で、通称ハイ ウォーター マークと呼ばれ、特定のメッセージ オフセット(オフセット) を識別します。コンシューマは、このオフセットより前のメッセージのみを取得できます。

    下の図に示すように、コンシューマはオフセット 0 ~ 5 のデータのみを消費できます。

ここに画像の説明を挿入

  • LEO : LEO はLog End Offsetの略で、現在のログ ファイルを識別します。次に書き込まれるメッセージ オフセット上のログに示すように、データ番号 0 ~ 8 が書き込まれている場合、オフセットが 9 の位置が現在のログ ファイルの LEO です。

ISR とハードウェアを使用して、データの信頼性とパフォーマンスの関係を比較検討する

例を使用して、この種の ISR コレクションを具体的に感じてみましょう。

特定のパーティションの ISR に 3 つのコピーがあると仮定すると、HW と LEO は両方とも 3 であり (つまり、3 より前のメッセージのみを消費できます)、メッセージ 3 と 4 がプロデューサーから送信され、リーダーに格納されます。コピー

ここに画像の説明を挿入

メッセージが書き込まれた後、フォロワーのコピーはメッセージ同期のためにメッセージをプルします

[外部リンクの画像転送に失敗しました。ソース サイトにリーチング防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-ngfCRPTF-1660468449500) (D:\note\note Warehouse\picture\image-20220814170354438 .png)]

ある時点で、follower1 のみが正常に同期され、follower2 はメッセージ 3 のみが同期され、メッセージ 4 は同期されません。すると、この時のHWは4、LEOは5です。この時点で、コンシューマーはオフセットが 0 から 3 の間のデータを消費できます。

ここに画像の説明を挿入

すべてのレプリカが正常に同期されると、HW と LEO の両方が 5 になり、コンシューマーはオフセット 4 のメッセージを消費できます

[外部リンクの画像転送に失敗しました。ソース サイトには盗難防止リンクのメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-3XTQL2z8-1660468449503) (D:\note\note Warehouse\picture\image- 20220814170803251.png)]

まとめ: Kafka は、この ISR メソッドによって有効になりますデータの信頼性とパフォーマンスの関係を比較検討

この記事の参照先: 「Kafka コアの設計と実践の原則についての深い理解」

おすすめ

転載: blog.csdn.net/qq_53578500/article/details/126333814