第 2 章 使用 Kamelets 连接到 Kafka


Apache Kafka 是一个开源、分布式、发布订阅消息传递系统,用于创建容错、实时数据源。Kafka 为大量用户(外部连接)快速存储和复制数据。

Kafka 可以帮助您构建处理流事件的解决方案。分布式事件驱动的架构需要捕获、沟通并帮助进程事件的"回放"。Kafka 可以充当将数据源和事件连接到应用程序的通信主干。

您可以使用 Kamelets 来配置 Kafka 和外部资源之间的通信。Kamelets 允许您配置数据如何在 Kafka 流处理框架中从一个端点移到另一个端点,而无需编写代码。Kamelets 是通过指定参数值配置的路由模板。

例如,Kafka 以二进制形式存储数据。您可以使用 Kamelets 来序列化和反序列化发送数据,并从外部连接接收数据。使用 Kamelets,您可以验证架构并更改数据,如添加到其中、过滤或屏蔽数据。Kamelets 也可以处理和处理错误。

2.1. 使用 Kamelets 连接到 Kafka 概述

如果使用 Apache Kafka stream-processing 框架,您可以使用 Kamelets 将服务和应用程序连接到 Kafka 主题。Kamelet 目录提供以下 Kamelets,专门用于连接到 Kafka 主题:

  • kafka-sink - 将事件从 data producer 移到 Kafka 主题。在 Kamelet Binding 中,将 kafka-sink Kamelet 指定为接收器。
  • kafka-source - 将事件从 Kafka 主题移到数据消费者中。在 Kamelet Binding 中,指定 kafka-source Kamelet 作为源。

图 2.1 演示了将源和接收器 Kamelets 连接到 Kafka 主题的流程。

kafkafow generic

图 2.1:通过 Kamelets 和 Kafka 主题的数据流

以下是使用 Kamelets 和 Kamelet Bindings 将应用程序和服务连接到 Kafka 主题的基本步骤概述:

  1. 设置 Kafka:

    1. 安装所需的 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。
    2. 创建 Kafka 实例。Kafka 实例作为消息代理运行。代理包含主题并编配存储并传递信息。
    3. 创建 Kafka 主题。主题提供数据存储的目的地。
    4. 获取 Kafka 身份验证凭据。
  2. 确定您要连接到 Kafka 主题的服务或应用程序。
  3. 查看 Kamelet Catalog,以查找您要添加到集成的 source 和 sink 组件的 Kamelets。另外,确定您要使用的每个 Kamelet 所需的配置参数。
  4. 创建 Kamelet Bindings:

    • 创建一个 Kamelet Binding,它将数据源(生成数据的组件)连接到 Kafka 主题(使用 kafka-sink Kamelet)。
    • 创建一个 Kamelet Binding,它将 kafka 主题(使用 kafka-source Kamelet)连接到数据 sink (消耗数据的组件)。
  5. 另外,还可在 Kamelet Binding 中添加一个或多个 action Kamelets 作为中间步骤,操作 Kafka 主题和数据源或接收器之间传递的数据。
  6. 另外,还可定义如何在 Kamelet Binding 中处理错误。
  7. 将 Kamelet Bindings 作为资源应用到项目。

    Camel K operator 为每个 Kamelet Binding 生成单独的 Camel K 集成。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.