3.2.4. アドレス転送の例

フォワーダーを使用すると、以下が可能です。

  • ローカルアドレスから AMQ Online の外部のリモート AMQP サーバーにメッセージを自動的に転送する、または
  • リモート AMQP サーバーからローカルアドレスにメッセージを転送する。

アドレスフォワーダーを使用するには、最初にアドレス空間のリモート AMQP サーバーへのコネクターを設定する必要があります。アドレス空間コネクターの詳細は、アドレス空間コネクターの例 を参照してください。

アドレス転送は、standard アドレス空間タイプでのみサポートされており、queue および subscritpion アドレスタイプでのみサポートされています。queue アドレスタイプを使用すると、メッセージをリモート AMQP サーバーに転送したり、リモート AMQP サーバーからローカルキューに転送したりできます。subscription アドレスタイプでは、リモート AMQP アドレスへのフォワーダーを作成できますが、メッセージをサブスクリプションにコピーするフォワーダーを作成することはできません。つまり、subscription アドレスタイプは、例に示すように、out 方向の転送のみをサポートします。

次の例では、コネクター remote1 がアドレス空間用に設定されていることを前提としています。

3.2.4.1. ローカルキューからリモート AMQP サーバーへのメッセージの転送

この例では、myqueue 内のメッセージは、アドレスが clients/me/1 のリモート AMQP サーバーに転送されます。

apiVersion: enmasse.io/v1beta1
kind: Address
metadata:
  name: myspace.myqueue
spec:
  address: myqueue
  type: queue
  plan: standard-small-queue
  forwarders:
  - name: f1 1
    remoteAddress: remote1/clients/me/1 2
    direction: out 3
1
(必須) 一意の ID を確保するために使用されるフォワーダーの名前を指定します。
2
(必須) メッセージの転送先のリモートアドレスを指定します。アドレスにはコネクター名の接頭辞を付ける必要があり、コネクターで定義されたアドレス一致パターンと同一である必要があります。
3
(必須) メッセージフローの方向 (out または in) を指定します。out の値は、メッセージをリモートエンドポイントに転送します。in の値は、リモートエンドポイントからメッセージを転送します。