【かふかこねくと】
Kafka Connect とは?
最終更新:
💡 Kafkaへの入口と出口を作る、コネクターの実行基盤
Apache Kafkaと外部システムの間でデータを取り込んだり書き出したりするためのフレームワーク。接続先に対応したコネクターを導入・設定して使う。
📌 このページのポイント
- Sourceは外部からKafkaへ、SinkはKafkaから外部へデータを運ぶ
- 対応コネクターがあれば、個別の連携コードを書く負担を減らせる
- コネクターの導入、接続先の権限や設定、データ形式の調整も必要
- 分散モードではタスクをワーカーへ割り当てるが、並列度には制約がある
Kafka Connectは、Kafkaそのものとは何が違うの?
Kafkaがデータをトピックに保存・配信する基盤なら、Connectは外部との受け渡しを担うコネクターを動かす基盤だよ。Sourceコネクターは外部からKafkaへ取り込み、SinkコネクターはKafkaから外部へ書き出すんだ。
設定を書くだけで、どんなシステムにもつながる?
接続先に対応したコネクターが必要だよ。プラグインを導入し、接続情報・権限・データ形式などを設定するんだ。対応品があれば連携コードを減らせるけれど、なければ自作も必要になる。利用条件も提供元ごとに確認しよう。
設定は必ずJSONファイルなの?
例えばDebeziumのコネクターで変更イベントをKafkaへ送れるよ。MySQLではbinlog、PostgreSQLではWALから論理デコードされた変更を使うんだ。同じログの仕組みではなく、DB側の設定や権限も必要だよ。
ワーカーを増やせば、速く処理できるの?
まとめ:ざっくりこれだけ覚えればOK!
「Kafka Connect」って出てきたら「Kafkaと外部システムをつなぐコネクター基盤」と思えばだいたいOK!
📖 おまけ:英語の意味
「Kafka Connect」 = Kafkaと外部システムを接続する基盤
💬 Connectは「接続する」という意味。Apache Kafkaの構成要素として、外部とのデータ連携を扱うよ。