搜索

第 3 章 Kafka 的 AMQ Streams 部署

download PDF

通过 AMQ Streams 发行版为 OpenShift 部署提供了 Apache Kafka 组件。Kafka 组件通常作为集群运行,以实现可用性。

集成 Kafka 组件的典型部署可能包括:

  • 代理节点的 Kafka 集群
  • 复制 ZooKeeper 实例的 zookeeper 集群
  • Kafka Connect 集群用于外部数据连接
  • Kafka MirrorMaker 集群,在第二个集群中镜像 Kafka 集群
  • kafka Exporter 用于提取额外的 Kafka 指标数据以进行监控
  • Kafka Bridge 向 Kafka 集群发出基于 HTTP 的请求

并非所有组件都是必须的,但您至少需要 Kafka 和 ZooKeeper。有些组件可以在没有 Kafka 的情况下部署,如 MirrorMaker 或 Kafka Connect。

3.1. Kafka 组件架构

Kafka 代理集群处理消息的发送。

代理使用 Apache ZooKeeper 来存储配置数据和集群协调。在运行 Apache Kafka 之前,Apache ZooKeeper 集群必须就绪。

其他 Kafka 组件与 Kafka 集群交互,以执行特定角色。

Kafka 组件交互

Data flows between several Kafka components and the Kafka cluster. See the component descriptions after this image.

Apache ZooKeeper
Apache ZooKeeper 是 Kafka 的核心依赖关系,因为它提供集群协调服务,用于存储和跟踪代理和消费者的状态。zookeeper 也用于分区的领导选举。
Kafka Connect

Kafka Connect 是一个集成工具包,用于使用 Connector 插件在 Kafka 代理和其他系统间流传输数据。Kafka Connect 提供了一个框架,用于将 Kafka 与外部数据源或目标(如数据库)集成,以使用连接器导入或导出数据。连接器是提供所需连接配置的插件。

  • 连接器将外部数据推送(push)到 Kafka 中。
  • sink 连接器从 Kafka 中提取数据

    外部数据被转换并转换为适当的格式。

    您可以使用 build 配置部署 Kafka Connect,这些配置会自动使用数据连接所需的连接器插件构建容器镜像。

Kafka MirrorMaker

Kafka MirrorMaker 在数据中心内或跨数据中心内两个 Kafka 集群之间复制数据。

MirrorMaker 从源 Kafka 集群获取信息,并将其写入目标 Kafka 集群。

Kafka Bridge
Kafka Bridge 为将基于 HTTP 的客户端与 Kafka 集群集成提供了一个 API。
Kafka Exporter
Kafka Exporter 提取数据作为 Prometheus 指标,主要与偏移、消费者组、消费者滞后和主题相关的数据。消费者的滞后是最后写入分区的消息与消费者从该分区中提取的消息之间的延迟
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.