Skip to content

Connector

EMQXのコネクターはデータ統合における重要な概念であり、Sink/Sourceの基盤となる接続チャネルとして機能し、外部データシステムへの接続に使用されます。

基本概念

コネクターは外部データシステムへの接続に特化しています。ユーザーは異なる外部データシステムごとに複数のコネクターを作成でき、1つのコネクターで複数のSink/Sourceへの接続を提供することも可能です。

MySQL Sinkを例にとると、コネクター、ルール、Sinkの関係は以下の図のようになります。

EMQX Connector Concept

特徴と利点

Sink/Sourceを作成する際、ユーザーは既存のコネクターを選択するだけで、基盤となる接続の詳細を気にする必要がありません。この設計のメリットは以下の通りです。

  • 接続設定をデータ処理やマッピング設定から分離することで、データ処理フローの設計がよりモジュール化され柔軟になります。
  • コネクターの作成・設定はデータ処理フローの設計に影響を与えません。接続情報の変更が必要な場合はコネクター側で修正でき、設定や保守が簡素化されます。
  • 複数のSink/Sourceに接続する必要がある外部データシステムの場合、1つのコネクターを作成するだけで対応でき、設定の重複を避けられます。

コネクターの作成

データ統合を作成する際は、統合で使用するSink/Sourceごとにコネクターを作成する必要があります。コネクターはダッシュボードから作成および管理でき、1つのコネクターを複数のSink/Sourceで再利用可能です。

TIP

Sink/Source作成時にコネクターを新規作成することもでき、その場合は自動的にコネクター作成プロセスに入ります。

  1. ダッシュボードの左ナビゲーションメニューで Integration -> Connectors をクリックします。

  2. ページ右上の Create ボタンをクリックし、コネクター作成プロセスに入ります。

  3. コネクタータイプ選択ページで必要なコネクターを選択し、Next をクリックして接続パラメータを入力します。対応コネクターはこちらを参照してください。

    EMQX Select Connector

  4. コネクター設定情報ページで、コネクター名、説明、接続パラメータなど基本情報を入力します。ここでの内容は各Sink/Sourceの利用ドキュメント内のコネクターパラメータ欄を参照してください。

    EMQX Connector Configuration

コネクターの表示と管理

コネクター作成後は、Connectorsページで基本情報を確認できます。有効化・無効化の切り替えや、設定編集、ルール作成、複製、削除などの管理操作はコネクター一覧の Actions 列から行えます。

コネクターの表示

コネクターがSink/Sourceで使用されている場合、コネクター設定の更新によりSink/Sourceがリロードされ、データ処理が一時的に中断する可能性があります。更新は業務の閑散時間帯に行うことを推奨します。

使用中のコネクターは削除できません。削除するには、まずそのコネクターを使用しているSink/Sourceを削除してください。コネクター削除時には、関連するSink/Sourceを表示する警告ダイアログが表示されます。Sink/Sourceをクリックするとルール設定ページに遷移し、そこでSink/Sourceを削除できます。

delete_associated_sink

コネクターのステータス

ダッシュボードでコネクターの稼働状況を確認でき、トラブルシューティングや監視に役立ちます。

コネクターのステータスは以下の通りです。

  • Connecting: ヘルスチェックが実施される前の初期状態で、外部データシステムへの接続を試みている段階です。
  • Connected: コネクターが外部データシステムに正常に接続されている状態です。この状態でヘルスチェックが失敗すると、障害の深刻度に応じて「connecting」または「disconnected」状態に遷移することがあります。
  • Disconnected: ヘルスチェックに失敗し不健康な状態です。設定によっては定期的に自動再接続を試みます。
  • Inconsistent: クラスターのノード間でコネクターの状態が不一致です。例えば、一部のノードでは接続済み、一部では切断状態となっている場合です。

注意事項 - コネクションプール

一部のコネクターはコネクションプールという再利用可能な接続オブジェクトの集合を提供します。コネクションプールを利用することで、リクエストごとに接続を再作成する必要がなくなり、リソース消費の削減や接続効率・同時処理性能の向上に寄与します。

コネクションプールのサイズは各EMQXノードごとのサイズを指し、EMQXは各ノードに独立したコネクションプールを作成します。EMQXは通常クラスターでデプロイされるため、実際の接続数が外部データシステムの制限を超える可能性があります。

例えば、3ノードのEMQXクラスターでコネクションプールサイズを8に設定した場合、EMQXは合計で3 × 8 = 24接続を作成します。