Oracle Advanced Queuing 是 Oracle Database 内置的消息传递平台,用于应用工作流、微服务和事件触发操作。Oracle Database 19c 引入了 Oracle Transactional Event Queues,将消息传递和发布/订阅事件与 Kafka 的互操作性相结合。
事件驱动的微服务和工作流的开发人员依赖于高吞吐量的可靠消息传递平台。Oracle TxEventQ 提供了强大的实时消息传递、流事件以及发布/订阅功能,其中包含多个发布者和多个使用者。凭借 TxEventQ 的高吞吐量安装,可以在 8 节点 Oracle Real Application Clusters (RAC) 数据库上每天实现约 1000 亿条消息。
Oracle AQ 与 Oracle Database 集成,支持事务性消息传递。入队和出队是与其他数据库操作同时自动提交的,无需两阶段提交。标准 SQL 可以查询消息及其元数据。通过支持微服务的事务性发件箱,简化事件驱动的应用开发。
面向开发人员的 Oracle TxEventQ 的主要优势
Oracle Advanced Queuing (AQ) 在 Oracle Database 8.0 中推出。在 12.2 版本中为 JMS 队列推出了 AQ Sharded Queues,几乎与此同时,Kafka 成为 Apache 项目之一。在 Oracle Database 21c 中,AQ Sharded Queues 更名为 Transactional Event Queues。AQ Classic Queues 和 Transactional Event Queues 均可在任何部署中与 Oracle Database 同时免费使用。
送货公司使用一次性密码 (OTP) 来验证送货地址和送货员,并将 Oracle AQ 作为供应商应用、送货员和客户之间信息交换的主干。请参阅 Oracle AQ LiveLab 中的代码。
在许多国家/地区,银行要求使用 OTP 验证账户才能取款。了解如何使用 Oracle AQ 创建消息传递基础设施,以便在 ATM 服务器代码和客户的客户端移动应用之间传输 OTP。
Oracle AQ 用于协调 ATM 机上的 OTP 和客户的注册手机号码。
GrabDish 是一款送餐应用,它使用 Oracle AQ 在订单、库存和配送微服务之间进行通信。查看使用 Oracle AQ LiveLab 简化微服务中的代码。
注:为免疑义,本网页所用以下术语专指以下含义:
融合数据库中的 Oracle TxEventQ 将发布/订阅事件和生成/使用消息相结合。生产者以多种语言生产或发布到数据库内置的队列代理。这是一个并行分区。使用者会使用或订阅消息。队列传播可将消息提供给远程 Oracle Database 中的使用者。
融合数据库中的 Oracle AQ 将发布/订阅事件和生成/使用消息相结合。生产者以多种语言生产或发布到数据库内置的队列代理。使用者会使用或订阅消息。队列传播可将消息提供给远程 Oracle Database 中的使用者。
Oracle AQ 是在 Oracle Database 8.0 中引入的,并且在 Oracle Database 的后续版本中不断增强其功能。在 Oracle Database 12c 中推出了 AQ Sharded Queues,并在 Oracle Database 19c 中进行分区并继续使用。在 Oracle Database 21c 中,AQ Sharded Queues 更名为 Transactional Event Queues。Oracle AQ 仍可用于不需要很高吞吐量的简单工作流。