瞭解如何使用 API 和 Java SDK 建立及導入 Oracle Cloud Infrastructure 佇列

您可以使用 Oracle Cloud Infrastructure (OCI) 佇列的 API 和 SDK 來建立、報告,然後以訊息來源和使用者身分使用此服務。雖然本播放手冊著重於 Java API,但所有語言 SDK 都提供相同的原則與功能。

OCI Queue 是一項完全託管的無伺服器訊息傳遞服務,可自動擴展以滿足您的工作負載需求。它可協助您分解應用程式,並建置非同步事件導向架構。

瞭解 OCI 佇列 API

解決方案很少有單一處理作業;通常需要在應用程式之間進行非同步通訊,才能避免受到資源限制 (例如需要 CPU、延遲等等) 的限制。您可以在產生器和用戶不需要彼此相依的通訊中建立通訊,以克服這些問題。OCI 佇列支援此類型的通訊,同時以非常高的層次執行。

架構

此播放手冊中說明的架構可讓您輕鬆從自己的電腦執行邏輯,或是從可透過 SSH 通道控制的一或兩個 VM 輕鬆進行操作。這些架構顯示於下列圖表中。請注意,視需要建立佇列,因此不會顯示 OCI 佇列。

如果您使用 VM 以外的 OCI 佇列工具建立及實行佇列,請使用此架構:


queue-api-playbook-arch-02.png 的描述如下
queue-api-playbook 圖解描述 -arch-02.png

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

如果您使用 VM 中的「OCI 佇列」工具建立及實行佇列,請使用此架構:


queue-api-playbook-arch-01.png 的描述如下
queue-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 的 Builder 樣式變異。深入瞭解 Exploring Joshua Bloch's Builder design pattern in Java 部落格文章中的這些建構模式。