Transactional Event Queues (TxEventQ) 和 Advanced Queuing (AQ)

Oracle Advanced Queuing 是 Oracle Database 内置的消息传递平台,用于应用工作流、微服务和事件触发操作。Oracle Database 19c 引入了 Oracle Transactional Event Queues,将消息传递和发布/订阅事件与 Kafka 的互操作性相结合。

观看 Oracle Transactional Event Queues 产品导览 (12:26)

AQ 和 TxEventQ 的特性

消息传递和发布/订阅

  • 通过队列中的并行(分区)事件流和内存中消息高速缓存实现高吞吐量(RAC 上约为 1 M+ 消息/秒)
  • 一次性事务性消息传递,其中数据库中的 DML 操作和消息是同一事务的一部分
  • 支持每个事件流中的消息总顺序和每个队列的多个事件流
  • 在一个基础设施中支持发布/订阅(主题)和发送/接收消息(队列)
  • 通过通知或轮询超时实现信息异步使用

语言支持

  • 支持生产者和使用者的多种语言 API:Java、带 JMS 的 Java、PL/SQL、C/C++、Python、Node.js、REST 和 CLI
  • 支持 Kafka Java 客户端,用 TxEventQ 代替 Kafka 代理作为消息代理
  • 支持 JMS 1.1+ (JMS 2.0 的部分功能,如多个使用者、延迟消息等)的 JMS 标准开源 API

操作特性

  • TxEventQ 网关支持与 Kafka 的互操作性
  • 使用 Prometheus/Grafana 进行队列统计和连续实时监控
  • 确保队列表中加密消息的数据库安全性
  • 基于规则的订阅者根据快速执行的规则过滤网络上的消息
  • 通过在事件流中任意回溯,新的或现有的使用者可以使用较早偏移量中的消息
  • 通过消息延迟、优先级、过期和队列到队列的传播,灵活构建现代应用和工作流

面向现代事件驱动应用的事件网格

在现代应用开发环境中发布/订阅活动

事件驱动的微服务和工作流的开发人员依赖于高吞吐量的可靠消息传递平台。Oracle TxEventQ 提供了强大的实时消息传递、流事件以及发布/订阅功能,其中包含多个发布者和多个使用者。凭借 TxEventQ 的高吞吐量安装,可以在 8 节点 Oracle Real Application Clusters (RAC) 数据库上每天实现约 1000 亿条消息。

融合数据库中的 Oracle TxEventQ 图融合数据库中的 Oracle TxEventQ 将发布/订阅事件和生成/使用消息相结合。生产者以多种语言生产或发布到数据库内置的队列代理。这是一个并行分区。使用者会使用或订阅消息。队列传播可将消息提供给远程 Oracle Database 中的使用者。

可靠的 JMS 消息传递,具有事务性发件箱模式

Oracle AQ 与 Oracle Database 集成,支持事务性消息传递。入队和出队是与其他数据库操作同时自动提交的,无需两阶段提交。标准 SQL 可以查询消息及其元数据。通过支持微服务的事务性发件箱,简化事件驱动的应用开发。

融合数据库中的 Oracle AQ 图融合数据库中的 Oracle AQ 将发布/订阅事件和生成/使用消息相结合。生产者以多种语言生产或发布到数据库内置的队列代理。使用者会使用或订阅消息。队列传播可将消息提供给远程 Oracle Database 中的使用者。

Oracle AQ/TxEventQ 结合了消息传递和发布/订阅的优势于一体

面向开发人员的 Oracle TxEventQ 的主要优势

  • 集消息传递和流处理的优势于一体
  • 支持 Java 编程的 JMS 和 Kafka Java 客户端
  • 使用高性能持久性内存实现
  • 与 Oracle AQ 相比,性能提高了 3 到 10 倍
  • 通过 Oracle Autonomous Database 实例中的 Oracle RAC 和 vCPU 进行扩展
  • 使用 Kafka JMS 连接器与 Apache Kafka 互操作

Oracle AQ 和 Transactional Event Queues (TxEventQ) 简史图

Oracle AQ 在 Oracle Database 8.0 中推出

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 同时免费使用。

Oracle AQ 和 Transactional Event Queues (TxEventQ) 简史图 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 仍可用于不需要很高吞吐量的简单工作流。
查看所有客户成功案例

Oracle AQ 和 TxEventQ 的客户成功案例



Auto Zone 徽标
Bissell 徽标
Data Intensity 徽标
jetBlue 徽标
Mazda 徽标
Pella 徽标
Specialized 徽标
Tramontina 徽标
FedEX 徽标

FedEx 已将 E-Business Suite 迁移到 Oracle Cloud Infrastructure。E-Business Suite 工作流和业务事件系统基于 Oracle Advanced Queuing (AQ) 而构建。

AQ 和 TxEventQ 的使用场景

  • 应用工作流

    零售交货保证工作流

    送货公司使用一次性密码 (OTP) 来验证送货地址和送货员,并将 Oracle AQ 作为供应商应用、送货员和客户之间信息交换的主干。请参阅 Oracle AQ LiveLab 中的代码。

  • 事件驱动的应用

    自动取款机银行业务二次验证

    在许多国家/地区,银行要求使用 OTP 验证账户才能取款。了解如何使用 Oracle AQ 创建消息传递基础设施,以便在 ATM 服务器代码和客户的客户端移动应用之间传输 OTP。

    Oracle AQ 用于协调 ATM 机上的 OTP 和客户的注册手机号码。

  • 微服务

    Oracle Autonomous Database 上的送餐应用

    GrabDish 是一款送餐应用,它使用 Oracle AQ 在订单、库存和配送微服务之间进行通信。查看使用 Oracle AQ LiveLab 简化微服务中的代码。

    在 Oracle 融合数据库中使用 Oracle TxEventQ 的现代化微服务 AppDev

赶快行动


试用 Oracle Cloud Free Tier

免费在 Oracle Cloud 上构建、测试和部署应用。


LiveLab

在使用 Oracle Database 的现代应用开发环境中使用 Oracle AQ 和 TxEventQ。


联系销售

想了解更多信息?请联系我们的专家。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. Oracle专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。