Anypoint MQ の用語

Anypoint MQ は、アプリケーション間の高度な非同期メッセージングシナリオを実行するエンタープライズマルチテナントのクラウドメッセージングサービスです。Anypoint MQ は、Anypoint Platform と完全に統合されており、ロールベースのアクセス制御、クライアントアプリケーション管理、およびコネクタを提供します。

Anypoint MQ では、ハイブリッドユースケース、IoT (さまざまなデバイスからデータを収集)、およびデバイスアプリケーションで使用できる REST API がサポートされています。また、node.js などの他のアプリケーションフレームワークと共に Anypoint MQ を使用してキューと通信することもできます。

Anypoint MQ:

  • クラウドで完全にホストおよび管理されるキューやメッセージ交換を提供します。キューは、一時的なストレージ領域です。メッセージ交換は、1 つ以上のキューをバインドし、メッセージ交換に送信されたメッセージがバインドされたすべてのキューに同時に表示されるようにします。

  • Anypoint MQ は Anypoint Platform 上に構築されているため、キューおよびメッセージ交換でプラットフォーム自体と同じ管理機能 (環境、マルチテナントのロールベースのアクセス制御ビジネスグループ、およびクライアントアクセス管理など) が提供されます。

  • 大容量のペイロード、暗号化、キューイング、パブリッシュ/サブスクライブパラダイムをサポートします。

  • REST API を使用して、Mule 以外のアプリケーションと簡単に連動できます。

  • Studio へのアクセスを提供します。これにより、ドラッグアンドドロップして設定するシンプルな方法でキューおよびメッセージ交換を活用できます。

  • メッセージおよび API 要求の数に関する使用量統計を表示します。これにより、ピーク使用量やサブスクリプションのパラメータを管理できます。

  • 配信不能メッセージに対応するデッドレターキュー機能を提供します。

機能

Anypoint MQ には、次の機能があります。

  • キューおよびメッセージ交換: メッセージをキューに送信したり、キューからメッセージを取得したり、メッセージ交換を作成してパブリッシュ/サブスクライブシナリオを実行し、メッセージを複数のキューに送信したりします。

  • 管理コンソール: 管理コンソールを使用して、キュー統計を監視したり、キューを消去したり、インフライトメッセージ数を確認したりします。

  • Anypoint MQ コネクタ: CloudHub にデプロイされているか、ハイブリッドシナリオで使用されているか、デプロイされたオンプレミスで使用されているかに関係なく、任意の Mule アプリケーションからメッセージを送受信します。

  • 使用量情報: 組織のシステム管理者またはオーナーは、今月と先月の使用量 (メッセージおよび API 要求の合計数) を確認できます。この情報には、[Access Management (アクセス管理)] ページからアクセスします。詳細は、「Anypoint MQ の使用量情報」を参照してください。

  • REST API: REST API を使用して、Mule 以外のアプリケーションと簡単に通信できます。

  • 環境およびロールベースのアクセス制御: Anypoint MQ は、Anypoint アクセス管理と完全に統合されているため、キューのさまざまな環境、各環境にアクセスできるユーザ、各環境内で実行できる内容を指定できます。

  • クライアント管理: クライアントアプリケーショントークンを作成します。

  • 大容量のペイロード: Anypoint MQ では、最大 10 MB のサイズのペイロードがサポートされています。

  • 障害回復: 各領域内で、Anypoint MQ サービスは複数の可用性ゾーン (AZ) にデプロイして、高可用性 (HA) を提供します。1 つの可用性ゾーンのサービスがダウンしても、Anypoint MQ サービスはその領域で正常の動作します。領域のすべての可用性ゾーンがダウンすると、少なくとも 1 つの可用性ゾーンが復帰するまで Anypoint MQ サービスはその領域で使用できなくなります。ただし、Anypoint MQ のストレージソリューションは永続的であるため、サービスが中断される前にすでに Anypoint MQ システムにあったメッセージは失われません。

  • 暗号化されたキュー: キューのデータは必要に応じて暗号化できるため、会社は保管時のデータのポリシーに準拠できます。Anypoint MQ メッセージはサーバ側で暗号化されます。

キュー

メッセージキューは、拡張性と信頼性の高い方法でアプリケーションが通信できる一時的なストレージを提供します。パブリッシャーはメッセージをキューにパブリッシュし、サブスクライバはキューからメッセージを受信できます。デッドレターキューを設定して、配信不能メッセージを保存できます。

Anypoint MQ パブリッシャー-キュー-サブスクライバ

キューには、数多くの利点があります。

  • 水平拡張性: メッセージをキューに配置することで、そのメッセージを処理する作業を多数の異なるサブスクライバで分散できます。

  • 信頼性: キューでは、失敗した場合でも必ずメッセージが処理されます。

    Anypoint MQ では、キューのロックと応答メカニズムを使用して信頼性が提供されます。これにより、失敗した場合でも必ずメッセージが処理されます。

  • 分離: キューは、異なるアプリケーションおよびデバイス間の通信メカニズムとして使用できます。これにより、他のアプリケーションに影響を与えることなく、異なる開発ライフサイクルやメンテナンス期間を設定できます。

  • アグリゲーション: 多数のメッセージプロデューサがいる場合でも、メッセージをすべて 1 つのキューにパブリッシュすれば、コンシューマが簡単に使用できます。

  • コンシューマは、キューからメッセージを取得します。この操作を行うと、メッセージはロックされ、他のすべてのコンシューマに表示されなくなります。

  • コンシューマは、取得時にロックタイムアウトを指定します。その期間内にメッセージが処理されないと、メッセージは他のコンシューマに表示され、処理できるようになります。これにより、何らかのエラー (コンシューマノードのクラッシュなど) が発生した場合に、他のノードでメッセージを処理できます。メッセージをロックしても、他のメッセージの読み取りがブロックされることはありません。メッセージをロックすると、ロックされている間、他のアプリケーションはメッセージを使用できなくなります。

  • コンシューマがメッセージを正常に処理すると、クライアントはメッセージの肯定応答を行い、Anypoint MQ はそのメッセージをキューから削除します。肯定応答されたメッセージが Anypoint MQ でどのように処理されるのかについての詳細は、「メッセージの肯定応答」を参照してください。

  • コンシューマがメッセージを処理できない場合、メッセージは否定応答で続行されて、キューに再度表示されます。

  • 各キューには、メッセージ存続期間 (TTL) があります。これにより、メッセージがキューに存続する期間が決まります。この期間を過ぎると、Anypoint MQ によってメッセージが失効され、キューから削除されます。

  • キューのメッセージは、メッセージごとに 10 MB に制限されます。ただし、キューに表示できるメッセージの数に制限はありません。

  • メッセージは、新しいデータが使用可能になるまでサーバが要求を開いたままにする long polling を使用して読み取られます。Anypoint MQ では、メッセージを一括読み取りできます。

  • Anypoint MQ の請求および課金は、作成したキューやメッセージ交換の数に関係なく、キューからサブスクライバに配信されたメッセージの数量によって決まります。

クライアント

Anypoint MQ では、各コンシューマはクライアントとして登録されている必要があります。クライアントには、名前、ID、シークレットがあります。クライアントは、ID とシークレットを使用して認証を行い、キューにパブリッシュおよびサブスクライブするためのアクセス権を取得します。クライアントは 1 つの環境でのみ使用します。

クライアントアプリケーションは、環境内の一連のキューおよびメッセージ交換へのアクセス権を付与します。複数の環境またはビジネスグループで使用することはできません。

メッセージ交換

メッセージ交換では、1 つのメッセージを多数のコンシューマに配信できます。

mq pub ex sub

たとえば、天気の変更をパブリッシュするパブリッシャーがいて、そのデータを受信する必要がある複数のアプリケーションがある場合、メッセージ交換を使用すれば、1 つのメッセージを各アプリケーションの複数のキューにパブリッシュできます。バインドは、メッセージ交換にメッセージの送信先を通知する、キューとメッセージ交換のリレーションシップです。1 つのキューを複数のメッセージ交換にバインドできます。

Anypoint MQ の例として、Salesforce のカスタマーリレーションシップマネージャ (CRM) を実行しているアプリケーションが、異なるデータベースを処理する 2 つのアプリケーションと通信する場合を考えます。

アプリケーションが受信するメッセージを CRM から Anypoint MQ に送信

Salesforce アプリケーションは、Anypoint MQ を使用してパブリッシュ/サブスクライブメッセージをメッセージ交換に送信し、2 つのアプリケーションはメッセージ交換からメッセージを受信してメッセージをそれぞれのデータベースに送信します。

用語集

  • 肯定応答/否定応答:

    • 肯定応答 - アプリケーションはメッセージを受信し、Anypoint MQ はメッセージを削除します。詳細は、「メッセージの肯定応答」を参照してください。

    • 否定応答 - アプリケーションはメッセージを受信せず、Anypoint MQ はメッセージを削除しません。

  • バインド - パブリッシュ/サブスクライブアプリケーションがシンプルなパブリッシュ/サブスクライブ構造を通して、ポイントツーポイント機能 (特定のアプリケーションへのメッセージの送信など) を利用できるようにします。バインドは、メッセージ交換を構成しているキューを識別します。Anypoint Platform でメッセージ交換に含まれるメッセージキューを指定すると、Anypoint MQ によってバインドが作成および管理されます。

  • デッドレターキュー - 他のキューのデッドレターキューを保存するキュー。 デッドレターキューにより、正常に配信できないメッセージがバックアップ用のキューに送信されます。デッドレターキューを使用すると、正常に処理されなかったメッセージを別の場所に分離できます。その後、ユーザは DLQ に送信されたメッセージを分析し、それらのメッセージが正常に処理されなかった理由を特定できます。DLQ は他のキューと実質的に同じで、単に配信不能メッセージを受信するキューです。

  • 宛先 - メッセージ交換またはキュー。アプリケーションは宛先を登録して、その宛先にメッセージをパブリッシュします。アプリケーションは宛先をサブスクライブして、メッセージを受信します。Anypoint MQ では、キューやメッセージ交換を作成または管理して宛先を設定できます。Anypoint Studio では、Anypoint MQ コネクタを使用して宛先を設定できます。

  • 永続的なメッセージ - 指定されたクライアントが受信するまで保持されるメッセージ。

  • インフライト - 肯定応答または否定応答を待機しているメッセージ、またはロック存続期間設定の有効期限が切れているメッセージ。インフライトメッセージは、他のコンシューマには表示されません。FIFO 以外のキューの場合、Anypoint MQ では、キューごとに最大 120,000 個のインフライトメッセージがサポートされています。FIFO キューの場合、キューごとに最大 10 個のインフライトメッセージを含めることができます。

  • 期間 - インフライトメッセージは最大 2 週間保持されます。この期間を過ぎると、2 週間よりも古いメッセージは削除されます。

  • キュー待機中 - 送信されたメッセージ。

  • ロック ID - アプリケーションがキューを排他的に読み取ることができるようにするロック。アプリケーションがキューのメッセージの肯定応答を行うと、Anypoint MQ によってロックが提供されます。メッセージをロックしても、他のメッセージの読み取りがブロックされることはありません。メッセージをロックすると、ロックされている間、他のアプリケーションはメッセージを使用できなくなります。

  • メッセージ - アプリケーションが相互に通信できるように逐次化された、アプリケーションが送受信する Mule Message Structureコンテンツ。

  • メッセージ交換 - 複数の出力を備えるパブリッシュ/サブスクライブメッセージソース。アプリケーションは、メッセージ交換でパブリッシュされるメッセージのサブスクライブを登録します。

  • オンプレミス - 組織のコンピュータで実行される Mule Runtime。

  • ポイントツーポイント - 1 つのアプリケーションのみが受信できるメッセージをアプリケーションから送信できるようにするパターン。

  • パブリッシュ/サブスクライブ - メッセージを複数のコンシューマに配信できるようにするパターン。

  • パブリッシャー - メッセージを Anypoint MQ に送信するアプリケーション。

  • キュー - クライアントが受信するメッセージを保持するポイントツーポイントメッセージストレージ領域。

  • サブスクライバ - メッセージを Anypoint MQ から受信するアプリケーション。

  • 使用量 - データおよび API 要求の使用量を示すチャートを表示します。

関連情報

Was this article helpful?

💙 Thanks for your feedback!