在專用 Exadata 基礎架構上搭配自治式 AI 資料庫使用進階佇列
Autonomous AI Database 支援 Transactional Event Queues (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 26ai Advanced Queuing User's Guide 。
在 Autonomous AI Database 中實作訊息佇列
- 管理介面:包含子程式的 PL/SQL 套裝程式集合,可讓您管理佇列、佇列表格、轉換以及其他管理工作,例如授與和撤銷 TEQ 使用者的權限。您必須以具備管理權限的使用者身分連線,才能存取這些子程式。若要瞭解如何建立管理使用者,請參閱 Oracle Database 19c 或 Oracle Database 26ai 中的範例清單。
- 程式設計介面:Oracle Database Advanced Queuing 為各種程式設計語言 (例如 PL/SQL、C、Java (JMS) 和 AQ XML (servlet) 提供程式設計介面,以導入您的 Advanced Queuing (AQ) 應用程式環境。如需 AQ 程式設計介面、每個介面支援的函數以及語法參照的清單,請參閱 Oracle Database 19c 或 Oracle Database 26ai 中的 Programmatic Interfaces for Accessing Oracle Database Advanced Queuing 。
秘訣:
如需示範如何使用進階佇列的「試試看」替代方案,您可以依照使用 Oracle Converged Database Workshop 建立微服務中所述的指示進行。