Red Hat Camel K is no longer supported.
As of June 30, 2025, Red Hat build of Camel K has reached End of Life. The suggested replacements is Red Hat build of Apache Camel. For details about moving, see the Camel K to Camel Quarkus migration guide.第 2 章 使用 Kamelets 连接到 Kafka
Apache Kafka 是一个开源、分布式、发布订阅的消息系统,用于创建容错、实时数据源。Kafka 为大量消费者(外部连接)快速存储和复制数据。
Kafka 可帮助您构建处理流事件的解决方案。分布式、事件驱动的架构需要捕获、沟通和帮助处理事件的"后退"。Kafka 可以充当将数据源和事件连接到应用程序的通信主干。
您可以使用 Kamelets 来配置 Kafka 和外部资源之间的通信。kamelets 允许您配置数据如何在 Kafka 流处理框架中从一个端点移动到另一个端点,而无需编写代码。kamelets 是通过指定参数值来配置的路由模板。
例如,Kafka 以二进制形式存储数据。您可以使用 Kamelets 来序列化和反序列化数据以发送到,并从外部连接接收。使用 Kamelets 时,您可以验证模式并更改数据,如添加到其中、过滤或屏蔽数据。kamelets 也可以处理和处理错误。
2.1. 使用 Kamelets 连接到 Kafka 概述 复制链接链接已复制到粘贴板!
如果使用 Apache Kafka 流处理框架,您可以使用 Kamelets 将服务和应用程序连接到 Kafka 主题。Kamelet Catalog 提供以下 Kamelets,专门用于进行到 Kafka 主题的连接:
-
kafka-sink
- 将事件从数据制作者移到 Kafka 主题。在 Kamelet Binding 中,将kafka-sink
Kamelet 指定为接收器。 -
kafka-source
- 将事件从 Kafka 主题移到数据消费者。在 Kamelet Binding 中,指定kafka-source
Kamelet 作为源。
图 2.1 演示了将源和接收器 Kamelets 连接到 Kafka 主题的流程。
图 2.1:带有 Kamelets 和 Kafka 主题的数据流
以下是使用 Kamelets 和 Kamelet Bindings 将应用程序和服务连接到 Kafka 主题的基本步骤概述:
设置 Kafka:
安装所需的 OpenShift 操作器。
- 对于 OpenShift Streams for Apache Kafka,安装 Camel K operator、Camel K CLI 和 Red Hat OpenShift Application Services (RHOAS) CLI。
- 对于 AMQ 流,请安装 Camel K 和 AMQ 流操作器和 Camel K CLI。
- 创建 Kafka 实例。Kafka 实例作为消息代理运行。代理包含主题,编配存储并传递信息。
- 创建 Kafka 主题。主题提供数据存储的目的地。
- 获取 Kafka 身份验证凭证。
- 确定您要连接到 Kafka 主题的服务或应用程序。
- 查看 Kamelet Catalog,以查找您要添加到集成的源和接收器组件的 Kamelets。另外,确定您要使用的每个 Kamelet 所需的配置参数。
创建 Kamelet Bindings:
-
创建一个 Kamelet Binding,它将一个数据源(一个生成数据的组件)连接到 Kafka 主题(使用
kafka-sink
Kamelet)。 -
创建一个 Kamelet Binding,它将 kafka 主题(使用
kafka-source
Kamelet)连接到数据 sink (消耗数据的组件)。
-
创建一个 Kamelet Binding,它将一个数据源(一个生成数据的组件)连接到 Kafka 主题(使用
- (可选)通过在 Kamelet Binding 中添加一个或多个操作 Kamelets 作为中介步骤来操作 Kafka 主题和数据源或 sink 间的数据。
- (可选)定义如何在 Kamelet Binding 中处理错误。
将 Kamelet Bindings 作为资源应用到项目。
Camel K operator 为每个 Kamelet Binding 生成一个单独的 Camel K 集成。