Queue

无服务器消息服务

Oracle Cloud Infrastructure (OCI) Queue 是一款可实现无服务器式异步(分离式)通信的服务。OCI Queue 可以处理需要独立处理的大量事务数据,既不会丢失也无需复制数据,能够使用开放标准(STOMP 以及 OpenAPI 定义的 REST)端点与任何客户端通信。

OCI Queue 概述 (12:04)

OCI Queue 的特性

OCI Queue 包括下列特性:

  • 可伸缩性 — OCI Queue 可自动按需添加资源并将工作负载分配给可用的使用者,有效应对意外的峰值流量。
  • 高吞吐量 — OCI Queue 支持每个 API 每秒操作近乎无限数量的事务。
  • 至少一次传送 — 确保将消息至少传送给使用者一次,除非该消息被删除或过期。
  • 尽力 (Best-effort) 排序 — 按从生成器接收的相同顺序将消息传送给使用者。特殊情况下,OCI Queue 可能会按其他顺序传送消息,避免顺序更正导致延迟升高。
  • 消息锁定 — 将消息锁定,避免在使用者处理消息时或者可见性超时结束之前发生重复读取。
  • 消息批处理 — 分批发送、接收、更新或删除消息(一批最多 20 条),以此优化成本。
  • 传送尝试和死信队列 — 您可以定义消息传送的尝试次数。如果消息无法被成功使用,您可以将其发送到死信队列 (DLQ)。使用 DLQ,您可以隔离消息以便执行故障排除。
  • 消息处理公平性 — 可以从随机通道发布和使用消息,从而提高公平性并防止突发数量峰值。
  • 消息选择 — 可以将消息传送给仅希望接收特定类型消息或来自特定生产者的消息的使用者。
  • 暂时性目标 — 通道可启用请求-应答消息传送模式,在队列下通过短期临时通道发送消息。通道是实时创建的,不需要显式创建或删除 API 调用。
  • 加密 — 端到端的消息加密。
  • STOMP 协议 — STOMP 是专为消息传送而设计的一种开放协议,它按连接(而不是 HTTP 请求)执行身份验证和授权,有助于您提高效率。
  • REST API — OCI Queue 可以与 OpenAPI 规范支持的真正 REST API 一起使用。
下图介绍了 OCI Queue 的特性
缩放:有多少使用者从队列读取消息,OCI Queue 就支持多少使用者。分离:Queue 客户端会将消息放入专为特定用途定义的队列中,但不知道使用者是谁、在哪里以及部署方式如何。可靠传送:队列使用者无法处理来自队列的消息,因此问题消息不会丢失,而是会进入死信队列以便采取纠正措施。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. Oracle专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。