Queue

サーバーレス・メッセージング・サービス

Oracle Cloud Infrastructure (OCI) Queueは、サーバーレス方式で非同期(分離)通信を実現するサービスです。OCI Queueにより、損失や重複のない独立した処理を必要とする大量のトランザクション・データを処理できます。オープン規格(STOMPおよびOpenAPI定義REST)エンドポイントを使用して、すべてのクライアントと通信します。

OCI Queue の概要(12:04)

OCI Queueの特徴

OCI Queueには、次のような特徴があります。

  • スケーラビリティ - OCI Queueは、需要に基づいてリソースを自動的に追加し、ワークロードを使用可能なコンシューマに分散することで、予期しないトラフィック・スパイクにも対処します。
  • 高スループット - OCI Queueでは、APIアクションごとに1秒あたり、ほぼ無制限の数のトランザクションに対応できます。
  • 必ず1回以上配信 - メッセージが削除されるか期限切れにならないかぎり、メッセージが少なくとも1回はコンシューマに配信されることが保証されます。
  • ベストエフォート型順序指定 - メッセージが、プロデューサから受信した順序と同じ順序でコンシューマに配信されます。ただし、順序の修正による待機時間を避けるためメッセージが別の順序で配信される場合があります。
  • メッセージのロック - コンシューマがメッセージを処理している間、または表示タイムアウト期間が終了するまで、重複読取りを回避するためにメッセージがロックされます。
  • メッセージのバッチ処理 - 最大20個のメッセージのバッチでメッセージの送信、受信、更新または削除が可能であり、コストを最適化できます。
  • 配信試行および配信不能キュー - メッセージの配信試行回数を定義できます。メッセージを正常に消費できない場合は、配信不能キュー(DLQ)に送ることができます。DLQにより、トラブルシューティング用のメッセージを分離できます。
  • メッセージ処理の公平性-メッセージはランダムなチャネルから公開および受信できるため、公平性が向上し、突然のボリューム急増を防止することができます。
  • メッセージの選択-メッセージは、特定のタイプのメッセージや特定の生産者からのメッセージのみを受信することを希望する消費者に配信することができます。
  • エフェメラルな宛先-チャネルは、キューの下にある短命で一時的なチャネルを介してメッセージを送ることで、リクエストとリプライのメッセージング・パターンを有効にします。チャンネルは、明示的な作成や削除のAPIコールを必要とせずに、その場で作成されます。
  • 暗号化 - メッセージはエンドツーエンドで暗号化されます。
  • STOMPプロトコル - STOMPは、メッセージング用に設計されたオープン・プロトコルです。HTTP要求ごとではなく接続ごとに認証および承認が行われるため、効率を高めることができます。
  • REST API - OCI Queueは、OpenAPI仕様でサポートされている真のREST APIで使用できます。
OCI Queueの機能図(下に説明文)
スケーリング可能: OCI Queueでは、キューから必要な数のコンシューマを読み取ることで、スケーリングを行えます。分離可能: Queueクライアントは、特定の目的のために定義されたキューにメッセージを配置しますが、コンシューマがどこに、どのようにデプロイされるかは認識しません。信頼性の高い配信が可能: キュー・コンシューマはキューからのメッセージを処理できないため、喪失したメッセージは修復のために配信不能キューに配置されます。