Oracle Database 12c 中的消息队列
Oracle Advanced Queuing (AQ) 为众多行业的企业提供消息功能,在数据库中被广泛应用。AQ 支持持久消息和非持久消息,并且 AQ 队列可以采用不同的队列模型,如点对点和“发布-订阅”,从而让业务应用彼此间实现灵活、可靠的通信。
AQ 可异步向感兴趣的客户端发送消息和数据库事件。消息可在相同或不同数据库上的队列之间异步传播。
AQ 接口包括 PL/SQL、JMS 1.1、JDBC、ODP.NET 和 OCI。Oracle WebLogic Server 应用通过 JMS API 与 AQ 交互。
通过与数据库相集成,AQ 支持在其他数据库操作的同时自动提交入队和出队,而不需要“两阶段提交”或 XA 接口。标准 SQL 可以查询消息及其元数据。索引可用于优化消息访问。AQ 中的消息和队列具备 Oracle 数据库的一切操作优势,如高可用性、可扩展性、安全性和可靠性。AQ 可与 Oracle Dataguard、RAC 和 Enterprise Manager 等众多 Oracle 技术结合使用。
有关 AQ 的概述和简要教程,请阅读以下白皮书:
JMS 共享队列是适用于单实例数据库、RAC 数据库和 Exadata 数据库云服务器的高性能、可扩展的数据库队列。共享队列针对 JMS、大量用户和跨 RAC 实例的可扩展性进行了优化。
有关 AQ-JMS 共享队列性能的详细信息,请阅读以下白皮书: