第 2 章 使用 Kamelets 连接到 Kafka


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

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

您可以使用 Kamelets 配置 Kafka 和外部资源之间的通信。借助 Kame,您可以在不编写代码的情况下在 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 指定为 sink。
  • Kafka-source - 将事件从 Kafka 主题移到数据消费者。在 Kamelet Binding 中,指定 kafka-source Kamelet 作为源。

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

kafkafow generic

图 2.1:带有 Kamelets 的数据流和 Kafka 主题

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

  1. 设置 Kafka:

    1. 安装所需的 OpenShift 操作器。

      • 对于 Apache Kafka 的 OpenShift Streams,安装 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,查找您要添加到集成中的源和接收器组件的 Kamelets。另外,还可决定要使用的每个 Kamelet 所需的配置参数。
  4. 创建 Kamelet Bindings:

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

    Camel K 运算符为每个 Kamelet Binding 生成单独的 Camel K 集成。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.