本を読んでいるときに気になったProducer/Consumerに関してのメモ。
Producerの設定/考慮ポイント
データ送信成功の判定(acks)
acks=0、acks=1、acks=allの3パターンがある。デフォルトはacks=1。送信リトライ
再送設定。リトライ可能な例外が発生した場合に自動的にリトライ処理が行われる。デフォルト値は約21億回になっているらしいが・・・・?
Consumerの設定/考慮ポイント
bootstrapServers
KafkaServerの設定GroupID
ConsumerGroupの設定Topic
Topicの指定。複数指定することも可能。Topicのポーリング
ConsumerClientは一定時間間隔でポーリングすることでストリームデータを読み取っている。Offsetのコミット
デフォルトではOffsetは5秒おきにコミットされる。処理済みのOffsetのコミット前にPartisionのリバランスが発生した場合、Offsetを重複して読み取る可能性があるため、Client停止時に明示的にOffsetをコミットするような処理が必要。