10.5. レプリケーションとパーティション数のトピックの設定
Topic Operator によって管理されるトピックには、トピックレプリケーション係数を 3 に設定し、最低でも 2 つの In-Sync レプリカを設定することが推奨されます。
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaTopic metadata: name: my-topic labels: strimzi.io/cluster: my-cluster spec: partitions: 10 1 replicas: 3 2 config: min.insync.replicas: 2 3 #...
In-Sync レプリカは、プロデューサーアプリケーションの acks
設定と組み合わせて使用されます。acks
設定は、メッセージが正常に受信されたことを確認するまでに、メッセージを複製しなければならないフォロワーパーティションの数を決定します。双方向 Topic Operator は、その内部トピックに対して acks=all
を指定して実行されます。これにより、メッセージはすべての In-Sync レプリカによって確認応答される必要があります。
ブローカーを追加または削除して Kafka クラスターをスケーリングする場合、レプリケーション係数設定は変更されず、レプリカは自動的に再割り当てされません。しかし、kafka-reassign-partitions.sh
ツールを使用してレプリケーション係数を変更し、手動でレプリカをブローカーに再割り当てすることができます。
また、Streams for Apache Kafka の Cruise Control の統合ではトピックのレプリケーション係数を変更することはできませんが、Kafka のリバランスのために生成される最適化プロポーザルには、パーティションレプリカを転送し、パーティションリーダーを変更するコマンドが含まれています。