了解如何使用 Oracle Cloud Infrastructure 的 API 和 Java SDK 创建和实施队列

您可以使用 Oracle Cloud Infrastructure (OCI) 队列的 API 和 SDK 创建、报告此服务,然后将此服务用作消息源和使用者。本手册重点介绍 Java API,但所有语言 SDK 均提供相同的原则和功能。

OCI 队列是一种完全托管的无服务器消息传送服务,可自动扩展以满足您的负载需求。它可帮助您分离应用并构建异步事件驱动的架构。

了解 OCI 队列 API

解决方案很少是单进程;应用程序之间的异步通信通常需要避免资源限制(例如,需要 CPU、延迟等)限制解决方案。您可以通过建立通信来解决这些问题,在这些通信中,生产商和消费者无需相互依赖。OCI 队列在非常高级别执行时支持这种类型的通信。

体系结构

通过本手册中介绍的体系结构,您可以轻松地从自己的计算机运行逻辑,也可以轻松地从可通过 SSH 隧道控制的一个或两个 VM 运行逻辑。下图显示了这些体系结构。请注意,未显示 OCI 队列,因为队列是根据需要创建的。

如果要使用 VM 外部的 OCI 队列工具创建和实施队列,请使用此体系结构:


后面是 queue-api-playbook-arch-02.png 的说明
插图队列 api-playbook-arch-02.png 的说明

Queue-api-playbook-arch-02-oracle.zip

如果要使用 VM 中的 OCI 队列工具创建和实施队列,请使用此体系结构:


后面是 queue-api-playbook-arch-01.png 的说明
插图队列 api-playbook-arch-01.png 的说明

Queue-api-playbook-arch-01-oracle.zip

为了使用以下手册,我们将假设将自己的桌面主机用于客户端和使用者。

这两种体系结构都包含以下组件:
  • 区域

    Oracle Cloud Infrastructure 区域是一个局部地理区域,包含一个或多个数据中心(称为可用性域)。区域独立于其他区域,广阔的距离可以将其分开(跨国家甚至大陆)。

  • 可用性域

    可用性域是区域中的独立独立数据中心。每个可用性域中的物理资源与提供容错能力的其他可用性域中的资源隔离。可用性域不共享基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。

  • 容错域

    故障域是可用性域内一组硬件和基础设施。每个可用性域都具有三个具有独立电源和硬件的故障域。在多个容错域中分配资源时,您的应用可以承受容错域中的物理服务器故障、系统维护和电源故障。

  • 区间

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问以及设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定哪些人可以访问资源以及他们可以执行的操作。

  • 虚拟云网络 (VCN) 和子网

    VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后对其进行更改。您可以将 VCN 细分为多个子网,这些子网可以限定到区域或可用性域。每个子网包含一系列不与 VCN 中的其他子网重叠的连续地址。创建后可以更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • 计算实例

    Oracle Cloud Infrastructure Compute 允许您预配和管理计算主机。您可以为计算实例启动符合您的资源需求的配置(CPU、内存、网络带宽和存储)。创建计算实例后,可以安全地访问它,重新启动它,附加和分离卷,然后在不需要时终止它。

队列策略的注意事项

控制和配置 OCI 队列以及用于创建和使用消息的策略是独立的。这样可以对通过 API 提供的操作实施细粒度控制。这意味着您需要考虑应用程序的要求和安全需求。

了解 Java SDK

OCI 提供的 SDK 提供了一系列信服功能,这些功能可检索验证和授权 OCI 服务调用所需的信息。 SDK 采用了 Joshua Bloch 的构建器模式。在博客文章 Exploring Joshua Bloch’s Builder design 模式 in Java 中了解有关这些构建模式的更多信息。