Advanced Queuing mit Autonomous Database on Dedicated Exadata Infrastructure verwenden

Autonomous Database unterstützt Transactional Event Queues (TEQ) zur Implementierung der datenbankintegrierten Message Queuing-Funktionalität.

Oracle Transactional Event Queues (TEQ)

Moderne Messagingsysteme unterstützen Point-to-Point-Messaging und Publish/Subscribe für den Austausch von Nachrichten und Ereignissen zwischen Anwendungen. Als Microservices entwickelte Anwendungen erfordern das Messaging ebenso wie Workflowsysteme. Event-Meshs werden immer häufiger für den Transport und die Weiterleitung von Anwendungsereignissen zwischen Anwendungen eingesetzt. Wie die Topics/Partitionen von Apache Kafka verwenden Transactional Event Queues Queuetabellen/Ereignisstreams (AQ Sharded Queues verwenden Queuetabellen/Shards) als Partitionierungsabstraktion.

Transactional Event Queues (TEQ) ist die partitionierte In-Memory-Implementierung von Advanced Queuing, die in Database 12.2.0.1 (2015) eingeführt wurde. TEQ-Queues unterstützen die JMS-Spezifikation und können in Java, Python, Node.js, PL/SQL, C/C++, .NET und Go aufgerufen werden.

Transactional Event Queues (TEQ) speichern Benutzernachrichten in abstrakten Speichereinheiten, die als Queues bezeichnet werden. Wenn Microservices miteinander kommunizieren oder Anwendungen Teil eines Workflows sind, stellen Produceranwendungen Nachrichten in die Queue, und Consumer-Anwendungen entfernen Nachrichten aus der Queue.

Oracle Transactional Event Queues (TEQ) bietet eine datenbankintegrierte Funktionalität zum Nachrichten-Queuing. Diese Funktionalität nutzt die Funktionen von Oracle Database, damit Nachrichten dauerhaft gespeichert, zwischen Queues auf verschiedenen Rechnern und Datenbanken propagiert und mit Oracle Net Services und HTTP(S) übertragen werden können. Weitere Informationen finden Sie unter Oracle Database Advanced Queuing im Benutzerhandbuch für Oracle Database 19c Advanced Queuing oder im Benutzerhandbuch für Oracle Database 23ai Advanced Queuing.

Nachrichten-Queuing in Autonomous Database implementieren

Oracle Transactional Event Queues (TEQ) stellt die folgenden Schnittstellen zur Implementierung des Nachrichten-Queuings bereit:
  • Administratorschnittstelle: Eine Collection von PL/SQL-Packages mit Unterprogrammen, mit denen Sie Queues, Queue-Tabellen, Transformationen und andere administrative Aufgaben, wie das Erteilen und Entziehen von Berechtigungen für TEQ-Benutzer, verwalten können. Sie müssen sich als Benutzer mit Administratorberechtigungen anmelden, um auf diese Unterprogramme zuzugreifen. Weitere Informationen zum Erstellen eines administrativen Benutzers finden Sie unter Liste der Beispiele in Oracle Database 19c oder Oracle Database 23ai.
  • Programmgesteuerte Schnittstelle: Oracle Database Advanced Queuing bietet Programmierschnittstellen für verschiedene Programmiersprachen, wie PL/SQL, C, Java (JMS) und AQ XML (Servlet), zur Implementierung Ihrer Advanced Queuing-(AQ-)Anwendungsumgebung. Eine Liste der programmgesteuerten AQ-Schnittstellen, unterstützten Funktionen in jeder Schnittstelle und Syntaxreferenzen finden Sie unter Programmgesteuerten Schnittstellen für den Zugriff auf Oracle Database Advanced Queuing in Oracle Database 19c oder Oracle Database 23ai.

Tipp:

Als Alternative können Sie den Anweisungen in Building Microservices with Oracle Converged Database Workshop folgen, um die Verwendung von Advanced Queuing auszuprobieren.