Teradata Access Module for Kafkaは、マルチ ブローカーのKafkaサーバーでレプリケートされたトピックのフェールオーバー サポートを提供します。
- broker0_ip_address:portnoはブローカー0を表わす
- broker1_ip_address:portnoはブローカー1を表わす
- broker2_ip_address:portnoはブローカー2を表わす
次の例に示すように、マルチブローカーのKafkaサーバーにはレプリケートされたトピックがあります。
Topic: replicated_topic PartitionCount:3 ReplicationFactor:3 Configs: Topic: replicated_topic Partition: 0 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2 Topic: replicated_topic Partition: 1 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0 Topic: replicated_topic Partition: 2 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1
この例では、トピック名は"replicated_topic"で、3つのパーティションがあります。
- "Partition: 0"のリーダー ブローカーは"Broker 0"です。
- リーダー ブローカーの"Broker 0"は、"Partition: 0"上のすべての読み取りおよび書き込みリクエストの処理を担います。
- "Partition: 0"は"Broker 1"と"Broker 2"でレプリケートされます。
メッセージの消費中に"Broker 0"がダウンした場合、Kafka Serverは"Partition: 0"が複製されている他の使用可能なブローカーから"Partition: 0"に新しいリーダー ブローカーを割り当てます。Teradata Access Module for Kafkaは"Partition: 0"の新しいブローカーを認識し、エラーを返さずに"Partition: 0"からのメッセージの消費を続行します。
この機能を使用するには、レプリケートされたトピックのすべてのブローカーを、BROKERSキーワードを使用して初期化文字列に指定する必要があります。