キューの管理

logo cloud active logo hybrid disabled logo server disabled logo pcf disabled

Runtime Manager の [Queues (キュー)] タブから、仮想マシン (VM) または段階的なイベント駆動型アーキテクチャ (SEDA) のキューを、デプロイされたアプリケーションのフロー内で表示および制御できます。

キューは、CloudHub ワーカーにデプロイされたアプリケーションでのみ使用可能です。Runtime Manager からローカルサーバにデプロイするアプリケーションでは使用できません。詳細は、「デプロイ戦略」を参照してください。

QueuesTab

CloudHub では、フロー内から自動的にキューが検出され、[Queues (キュー)] タブにリストされます。

基になるアプリケーションに一切変更を加えずに、以下を行うことができます。

  • 各キューでキューに格納されているメッセージと送信中のメッセージの数を確認する。

  • 過去 24 時間のキューのスループットをスナップショットとして表示する。

  • キューで待機中のすべてのメッセージをクリアする。

また、永続的なキューの保存データの暗号化を有効にすることもできます。これにより、永続的なキューに書き出される共有アプリケーションデータは必ず暗号化されます。

ユースケース

[Queues (キュー)] タブは、次のようなユースケースで役立ちます。

  • アプリケーションのキューを実行時に可視化したい。

  • メッセージが期待どおりにキューを通過しているかどうかを確認するためにアプリケーションをテストする。

  • アプリケーションがメッセージの処理で停滞しており、問題を解決するためにそのキューだけメッセージを消去したい。

キューの有効化

キューを有効にする手順は、次のとおりです。

  1. 1 つ以上の VM Transport Referenceを含む、または queued-asynchronous (キューに登録された非同期) Flow Processing Strategiesへのフローセットを含む CloudHub に、アプリケーションをデプロイします。

  2. Runtime Manager で、アプリケーションをクリックし、[Manage Application (アプリケーションを管理)] をクリックします。

  3. [Persistent queues (永続的なキュー)] のチェックボックスをクリックします。

  4. アプリケーションをデプロイするときにこの設定を有効する場合は、[Deploy Application (アプリケーションをデプロイ)] をクリックします。既存のアプリケーションを更新する場合は、[Apply Changes (変更を適用)] をクリックします。

    PersistentQueuesSetOnDeploy

キューの表示

[Persistent queues (永続的なキュー)] を有効にした後、左ナビゲーションメニューの [Queues (キュー)] をクリックします。アプリケーション内のキューがアプリケーションに表示される順序でリストされます。

CHQConsole

各キューの名前は、関連付けられた VM エンドポイントの path 属性によって、または SEDA キューの場合はフロー名から判断されます。

  • [Queued (キュー内)] 列には、アプリケーションの各キューで現在待機中のメッセージ数が表示されます。

  • [In-Flight (インフライト)] 列には、そのキューの後にフローで処理中のメッセージ数が表示されます。

    インフライトメッセージは処理が完了するまでまだキュー内にあり、完了後にキューから削除されます。

  • [Processed Messages (処理済みメッセージ)] 列には、過去 24 時間に各キューを通過して処理されたメッセージ数を表すサムネイルグラフが表示されます。

[Queued (キュー内)] 列と [In-Flight (インフライト)] 列は 5 秒ごとに更新され、[Processed Messages (処理済みメッセージ)] のグラフは 5 分ごとに更新されます。

キューのクリア

1 つまたは複数のキューをクリアするには、クリアするキューのチェックボックスをオンにしてから [Clear (クリア)] をクリックします。

CHQClearQ

Runtime Manager は、クリアするキューとこのプロセスの所要時間を確認する警告メッセージを表示します。[Clear Queues (キューをクリア)] をクリックして続行します。

CHQClear

確認した後、選択したキューにはクリアプロセスが完了するまで「Clearing queue in progress (キューをクリアしています)」メッセージが表示されます。

CHQClearInProgress

キューをクリアすると、キュー内の待機中メッセージとインフライトメッセージがすべて消去されます。キューがクリアされると、キューは直ちにメッセージの受け入れを再開します。

永続的なキュー内の保存データの暗号化

すべての永続的なキューで保存時のデータの暗号化を有効にできます。この機能を有効にすると、永続的なキューに書き込まれる共有アプリケーションデータが暗号化され、セキュリティとコンプライアンスのニーズを満たすことができます。

有効化 + 暗号化
暗号化を有効にして、その後無効にすると、以前に暗号化されているメッセージは読み取り不可になります。

制限事項

アプリケーションで永続的なキューを有効にする場合は、次の点に注意してください。

  • 永続的なキューでは 1 回のみのメッセージ配信は保証されません。重複するメッセージが送信される場合もあります。1 回のみのメッセージ配信が重要なユースケースの場合、永続的なキューを有効にしないでください。

  • *[Queues (キュー)] タブ*を使用してキューをクリアする場合、キューのクリアプロセス中にキューに送信された新しいメッセージは失われる可能性があります。

  • 永続的なキューを有効にすると、パフォーマンスへの影響があります。小さなメッセージ (50kb 以下) をキューに追加するには 10 ~ 20 ミリ秒 (ms) かかります。一方で、同じメッセージをキューから削除するのには 70 ~ 100ms かかることがあります。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub