Kafka Connect は RDS バイナリログデータをどのように同期しますか?

Kafka Connect は RDS バイナリログデータをどのように同期しますか?

1. 背景

私たちの事業開発では、次のようなシナリオによく遭遇します。

  • ビジネス更新データがデータベースに書き込まれる
  • ビジネス更新データは、下流の依存処理にリアルタイムで渡す必要がある

したがって、従来の処理アーキテクチャは次のようになります。

しかし、このアーキテクチャには多くの欠点もあります。プロジェクト内で大量のメッセージ送信コードを保守する必要があるのです。メッセージを追加または更新すると、多大なメンテナンスコストがかかります。したがって、これを処理するより良い方法は、次に示すように、データベース データをストリーミング システムに直接接続することです。

この記事では、E-MapReduce 上で RDS バイナリログを Kafka クラスターにリアルタイムで同期する方法を説明します。

2. 環境整備

実験ではVPCネットワーク環境を使用します。 VPC 環境ではデフォルトで以下のインスタンスが作成されます。

2.1 テストRDSデータベースを準備する

RDS インスタンスを作成し、バージョン 5.7 を選択します。ここでは、RDS の作成方法については詳しく説明しません。詳細な手順については、RDS のドキュメントを参照してください。作成後は、図のようになります。

2.2 Kafka クラスターの準備

E-MapReduce Kafka クラスターを作成し、バージョンとして EMR-3.11.0 を選択します。ここでは EMR-3.11.0 以降のバージョンを選択する必要があることに注意してください。そうしないと、Kafka Connect サービスはデフォルトでインストールおよび起動されません。詳細な作成プロセスについては、E-MapReduce のドキュメントを参照してください。作成後は、図のようになります。

注意: RDS インスタンスと E-MapReduce Kafka クラスターは同じ VPC 内に存在する必要があります。それ以外の場合は、2 つの VPC 間のネットワークを開く必要があります。

3. カフカコネクト

3.1 コネクタ

Kafka Connect は、Kafka と他のデータ システム間のデータ転送用のツールです。 Kafka ベースのデータ パイプラインを実装し、上流と下流のデータ ソースを接続できます。必要なのは、データ ソースからのデータの読み取り/データ ソースへのデータの書き込み方法を具体的に実装するコネクタを Kafka Connect サービスで実行することだけです。 Confluent は多くのコネクタ実装を提供しており、ここからダウンロードできます。しかし、今日は Debezium が提供する MySQL Connector プラグイン (ダウンロード アドレス) を使用します。

このプラグインをダウンロードし、解凍したすべての jar パッケージを kafka lib ディレクトリにコピーします。注: これらの jar パッケージは、Kafka クラスター内のすべてのマシンにコピーする必要があります。

Kafka クラスターのサービス リストで Kafka Connect コンポーネントを再起動します。

3.2 コネクタを起動する

コネクタを作成する前に、いくつかの設定を行う必要があります。 Debezium MySQL Connector の主な構成項目の一部を次に示します。

Kafka クラスターにログインし、次のコマンドを使用してコネクタを設定および作成します。

この時点で、図に示すように、作成されたコネクタを確認できます。

3.3 注記

server_idとは何ですか? 「SELECT @@server_id;」を実行すると見つかります。 RDS で。

コネクタの作成時に接続エラーが発生する可能性があります。 RDS ホワイトリストに Kafka クラスター マシンへのアクセスが許可されていることを確認してください。

4 テスト

4.1 テーブルを作成する

しばらくすると、対応するトピックがKafkaクラスターに自動的に作成されます。

データを挿入する

バイナリログデータを表示する

トピックfulfillment.mugen.studentsをチェックして、新しく挿入されたデータがあるかどうかを確認します。

結果は図の通りです。

5. 情報

  • Confluent 公式ドキュメント https://docs.confluent.io
  • Debezium 公式サイト http://debezium.io/
  • Kafka 公式ドキュメント http://kafka.apache.org/documentation.html

<<:  企業の最高情報セキュリティ責任者がクラウドコンピューティングのセキュリティに取り組むべきこと

>>:  SonicWall が Capture Cloud Platform を発表、幅広いネットワーク セキュリティ ポートフォリオに仮想機能とエンドポイント セキュリティを導入

推薦する

Baidu入札マッチングのやり方

Baidu の入札では、マッチング方法は 3 つしかありません。1 つ目は部分一致、2 つ目は完全一...

bgpto: 専用サーバーのサマープロモーション、日本のマシンは 35% オフ、シンガポールのマシンは 25% オフ、20M の帯域幅、月額 93 ドルから

bgp.to は、日本とシンガポールのデータセンターの独立サーバーに特別プロモーションを提供していま...

蘇寧がレッドベイビーを6,600万ドルで買収、独立したブランド運営を維持

9月25日午後、蘇寧ドットコムが業界の合併や買収を行うという噂がついに決着した。蘇寧ドットコムは本日...

ウェブページのキーワードを変更するときに検索エンジンを馬鹿にしてはいけない

著者はかつて多くのウェブマスターと同じでした。当初、ウェブサイトのポジショニングが不正確だったため、...

SEO と SEM、企業はどちらに忠誠を誓うべきでしょうか?

SEO (検索エンジン最適化) 検索エンジン最適化。 SEM (検索エンジンマーケティング) 検索エ...

#Thanksgiving+Black5# raksmart: 月額 30 ドル - サンノゼ 100M+e3、月額 60 ドル - ロサンゼルス 100M+2*e5-26xx、月額 90 ドル - 日本 50M+e5-26xx

Raksmart は、今年の感謝祭とブラックフライデーのプロモーションを事前にご用意しました: (1...

アリババクラウド:パートナー事業は3年連続で100%以上成長し、来年はさらに50億のエコ資金を獲得

アリババクラウドは5月28日、2021年アリババクラウドパートナーカンファレンスにおいて、パートナー...

ユーザーの立場に立ってウェブサイトのユーザーエクスペリエンスを向上させる

検索エンジンは、ウェブサイトのユーザー エクスペリエンスにますます注目しています。結局のところ、検索...

キーワードを最適化する方法 10 の戦略

1. キーワードを最初に置くキーワードを配置するときは、ホームページの現在の位置に関連性の高いキーワ...

商品検索ランキングの基本的な枠組みには7つの主要な要素があります

関連性市場ルールと上場廃止時期の不正製品の品質 製品の人気 販売者のサービス品質ü 総合ランキングス...

Aruba、インテリジェントエッジ向けの業界初のクラウドネイティブプラットフォームを発表

Hewlett Packard Enterprise の子会社である Aruba は本日、業界初の ...

ftlcloud: 限定版 - 宣伝のためにお金を失っている、月額 9 元、ゴールド シールド + 天極防御、CC を無視、香港\韓国\米国のデータ センター

9元でどんなクラウドサーバーが買えますか? ftlcloud は自社の宣伝 (および市場獲得) を目...

テンセントクラウド、広州農村商業銀行の分散型金融クラウドプラットフォームプロジェクトの構築を落札

記者は8月28日、テンセントクラウドが広州農村商業銀行の分散型金融クラウドプラットフォーム構築プロジ...

cloudarion: 月額 7 ドル、ロシア、スイス、米国、ドイツの VPS、無制限のトラフィック、Windows

Cloudarion は、2011 年から運営されていると主張するホスティング会社です。主な事業は ...

bandwagonhost/bandwagonhost vps-128m メモリ VPS シンプルレビュー

先ほど、bandwagonhost - 年間支払い 3.99 ドル / 超低価格 VPS / 小型メ...