共用方式為

针对 Azure 事件中心的 Apache Kafka 开发人员指南

本指南可帮助 Kafka 开发人员生成应用程序并将其迁移到 Azure 事件中心。 无论是连接现有的 Kafka 应用程序还是构建新的流处理解决方案,您都能够根据开发阶段找到入门指南、教程和集成模式。

先决条件

在开始开发之前,请确保具备:

  • 启用了 Kafka 的 Azure 事件中心命名空间(标准层或更高版本)
  • 已安装首选 Kafka 客户端库
  • 用于身份验证的连接字符串或Microsoft Entra 凭据

有关事件中心如何与 Kafka 配合使用的概述,请参阅 Apache Kafka 的事件中心

5 分钟入门

连接到事件中心的最快方法是修改现有的 Kafka 客户端配置。 无需更改代码即可更新连接设置。

快速入门使用 Kafka 协议通过事件中心进行数据流式传输 将引导你通过配置更改连接生成者和使用者。

特定于语言的快速入门

选择语言以获取工作生成者和使用者示例:

语言 Sample 客户端库
Java 快速入门 Apache Kafka 客户端
C# / .NET 快速入门 Confluent .NET 客户端
Python 快速入门 Confluent Python 客户端
Node.js 快速入门 node-rdkafka
Go 快速入门 Confluent Go 客户端
Go (萨拉马) 快速入门 Sarama 客户端

命令行工具

若要测试和调试,请使用以下 CLI 工具:

Tool Sample 用例
Kafka CLI 快速入门 捆绑在 Apache Kafka 发行版中
kcat 快速入门 基于 librdkafka 的轻型快速 CLI

构建流式处理管道

连接应用程序后,您可以构建更复杂的流式处理管道。 本部分介绍与常用流处理框架和数据集成工具的集成。

流处理框架

将流处理应用程序连接到事件中心:

Framework 教程 说明
Apache Spark 教程 使用 Spark 结构化流式传输进行实时流式传输
Apache Flink 教程 具有恰好一次语义的有状态流处理
Akka Streams 教程 Scala 和 Java 的被动流处理
Azure 流分析服务 教程 使用类似 SQL 的查询进行无代码流处理
Spring Cloud Stream 教程 使用 Kafka 绑定器实现 Spring Boot 集成

与 Kafka Connect 的数据集成

通过 Kafka Connect,可以使用预生成的连接器在事件中心和外部系统之间流式传输数据:

Resource 说明
Kafka Connect 集成 使用事件中心部署和配置 Kafka Connect
Kafka Connect 教程 (GitHub) FileStreamSource 和 FileStreamSink 的端到端示例

日志聚合和可观测性

将基础结构中的日志集中到事件中心:

Tool 教程 说明
Logstash 教程 弹性堆栈日志管道
Filebeat 教程 轻型日志传输工具
FluentD 教程 统一日志记录层
Apache NiFi 教程 视觉数据流管理

迁移现有 Kafka 工作负载

如果要从现有 Kafka 群集迁移,事件中心支持复制和混合方案。

使用 MirrorMaker 复制数据

使用 Kafka MirrorMaker 将数据从现有 Kafka 群集复制到事件中心:

Resource 说明
将 Kafka 中转站镜像到事件中心 MirrorMaker 设置的操作指南
MirrorMaker 教程 (GitHub) 示例配置和脚本

迁移规划

有关完整的迁移指南(包括配置映射和功能差异),请参阅 事件中心的 Apache Kafka 迁移指南

高级场景

架构管理

管理 Kafka 应用程序的架构:

Resource 说明
Azure 架构注册表 内置于事件中心的本机架构注册表
Confluent 架构注册表集成 将 Confluent 架构注册表与事件中心配合使用

使用 OAuth/Microsoft Entra ID 进行身份验证

对于生产环境工作负载,建议使用 Microsoft Entra ID,替代连接字符串。

Resource 说明
OAuth 教程 (GitHub) 用于 OAuth 身份验证的 Java 和 Go 示例

协议互作性

事件中心支持多个协议。 了解如何在 Kafka 和 AMQP 客户端之间交换事件:

Resource 说明
互操作教程(GitHub) 在不同协议之间交换事件

配置参考

有关使用事件中心时建议的 Kafka 客户端配置,请参阅 Apache Kafka 客户端配置。 本指南涵盖:

  • 所需的连接设置
  • 与 Kafka 默认值不同的配置
  • 特定于事件中心的约束
  • 排查常见配置问题

获取帮助