在專用 Exadata 基礎架構上使用 Autonomous Database 進階佇列
Autonomous Database 支援交易事件佇列 (TEQ),以實作資料庫整合的訊息佇列功能。
Oracle 交易事件佇列 (TEQ)
現代訊息傳遞系統支援點對點訊息傳遞,以及發布 / 訂閱應用程式之間的交換訊息和事件。以微服務形式建置的應用程式需要傳訊,就像工作流程系統一樣。事件中,在應用程式之間傳輸和路由應用程式事件越來越普遍。與 Apache Kafka 的主題 / 分割區一樣,交易事件佇列會使用佇列表格 / 事件串流 (AQ 分區佇列使用佇列表格 / 分區) 作為分割抽象概念。
交易事件佇列 (TEQ) 是在 Database 12.2.0. 1 (2015) 中導入的 Advanced Queuing 的分割和記憶體內實行。TEQ 佇列支援 JMS 規格,可在 Java、Python、Node.js、PL/SQL、C/C++、.NET 及 Go 中存取。
交易事件佇列 (TEQ) 會將使用者訊息儲存在稱為佇列的抽象儲存單位中。當微服務彼此通訊,或應用程式是工作流程的一部分時,產生器應用程式會排入佇列訊息,而用戶應用程式會取消訊息佇列。
Oracle 交易事件佇列 (TEQ) 提供資料庫整合訊息佇列功能。此功能會利用 Oracle Database 的功能來永久儲存訊息、在不同電腦和資料庫的佇列之間傳輸,以及使用 Oracle Net Services 和 HTTP (S) 傳輸。如需詳細資訊,請參閱 Oracle Database 19c Advanced Queuing User's Guide 中的 Oracle Database Advanced Queuing 或 Oracle Database 23ai Advanced Queuing User's Guide 。
在 Autonomous Database 中實作訊息佇列
- 管理介面:包含子程式的 PL/SQL 套裝程式集合,可讓您管理佇列、佇列表格、轉換以及其他管理作業,例如授與和撤銷 TEQ 使用者的權限。您必須以具有管理權限的使用者身分連線,才能存取這些子程式。若要瞭解如何建立管理使用者,請參閱 Oracle Database 19c 或 Oracle Database 23ai 中的 List of Examples 。
- 程式設計介面:Oracle Database Advanced Queuing 為各種程式設計語言 (例如 PL/SQL、C、Java (JMS) 以及 AQ XML (servlet) 提供程式設計介面,以實作您的 Advanced Queuing (AQ) 應用程式環境。For a list of AQ programmatic interfaces, functions supported in each interface, and syntax references, see Programmatic Interfaces for Accessing Oracle Database Advanced Queuing in Oracle Database 19c or Oracle Database 23ai.
秘訣:
如需示範如何使用進階佇列的「試試看」替代方案,您可以依照使用 Oracle Converged Database Workshop 建立微服務中所述的指示進行。