宣布 Eventing RabbitMQ 进入 GA 阶段 ¶
发布时间:2022-08-02,修订时间:2024-01-17
宣布 Eventing RabbitMQ 进入 GA 阶段¶
作者:Gab Satchi,VMware 高级软件工程师
我们很高兴地宣布 Eventing RabbitMQ 现已进入普遍可用 (GA) 阶段。凭借这一里程碑,提供的 API 将在未来的迭代中保持稳定。可以在 此处 找到快速入门指南。
主要功能¶
使用任何 RabbitMQ 实例¶
Eventing RabbitMQ 可以很好地与使用 RabbitMQ 集群 Kubernetes 运算符 配置的 RabbitMQ 集群配合使用,但也可以配置为使用通过其他方式配置的 RabbitMQ 实例。RabbitMQ Broker 和 Source 都包含一个 rabbitmqClusterReference
字段,该字段可以引用使用运算符创建的 RabbitMQ 集群,也可以引用包含 RabbitMQ 实例凭据的 Secret
。完整文档可以在 此处 找到。
并行处理和事件排序¶
RabbitMQ 默认情况下对事件使用先进先出 (FIFO) 排序模式。但是,在某些情况下可能不需要排序,而可能更偏好更高的吞吐量。RabbitMQ Broker 和 Source 都包含一个 parallelism
注解,可以将其配置为并行处理多个消息。可以在 此处 找到概述 FIFO 和高吞吐量模式的示例。
仲裁队列¶
仲裁队列是一种容错、复制的队列类型,用于多节点设置。RabbitMQ 默认情况下使用仲裁队列。可以为 RabbitMQ Broker 配置队列类型,并且订阅 Broker 的任何触发器都将继承队列类型。完整文档可以在 此处 找到。
指标¶
Eventing RabbitMQ 镜像了 此处 找到的事件指标的子集。由于单租户性质,Broker - Filter
指标不适用。
架构¶
Eventing RabbitMQ 遵循单租户模型,其中为每个 Broker、Trigger 和 Source 对象创建专用资源。虽然这种方法会产生一些开销,但也有一些好处:- Pod 可以自动扩展以处理给定 Broker、Trigger 或 Source 的预期流量。- 用户的现有策略和角色可用于基于角色的访问控制 (RBAC)。- 提高对集群上运行内容的透明度。
创建 Broker 会自动创建一个可以接收 CloudEvents 的入口 Pod,以及将 CloudEvents 通过 RabbitMQ 系统路由所需的 RabbitMQ 资源。触发器会创建分发器 Pod,这些 Pod 会从 RabbitMQ 中使用消息,并将 CloudEvents 发送到可寻址资源。
RabbitMQSource 对象可以从队列中检索消息,将其转换为 CloudEvents,并将这些 CloudEvents 发送到可寻址的使用者。
性能¶
每次发布都会运行一组性能测试,以确保足够的吞吐量和可接受的延迟。最新运行的结果可以在 此处 找到。
采用者¶
Eventing RabbitMQ 目前正在 VMware Event Broker Appliance (VEBA)、Cloud Native Runtimes (CNR) 中使用。
反馈¶
我们感谢社区对试用此新版本并报告您可能遇到的任何问题或查询的反馈。可以在 此处 创建新问题。