本文档旨在为开发者、架构师和决策者提供有关将 Managed Service for Apache Kafka 与其他 Google Cloud服务集成的选项。
下表列出了一些在 Google Cloud中为 Kafka 数据选择集成解决方案时需要考虑的因素。
| 解决方案 | 使用场景 |
|---|---|
| Kafka Connect |
常见的数据集成任务 在集群之间复制 Kafka 数据 高可用性/灾难恢复 |
| Dataflow |
高容量数据流水线 复杂的数据转换或数据汇总 高级窗口化 |
| Managed Service for Apache Spark |
与现有的 Apache Spark 工作负载集成 将 Apache Spark 工作负载迁移到 Google Cloud |
使用 Kafka Connect
Kafka Connect 提供了一个框架,用于在 Kafka 和其他系统之间流式传输数据。借助 Managed Service for Apache Kafka,您可以预配运行 Kafka Connect 的集群。
对于有受支持的连接器的大多数常见数据集成任务,建议使用 Kafka Connect。 建议使用 Kafka Connect 和 MirrorMaker 2.0 在 Kafka 集群之间复制数据,例如在高可用性和灾难恢复 (HA/DR) 架构中。
使用 Kafka Connect 的优势包括:
针对 BigQuery、Cloud SQL 和 Cloud Storage 等来源和接收器的内置连接器。
完全集成到 Managed Service for Apache Kafka 中,可简化管理、运营和监控。
支持过滤和单条消息转换。
使用 Dataflow
Dataflow 是一种基于开源 Apache Beam 项目构建的托管式流式平台。您可以运行 Dataflow 流水线,将 Kafka 数据写入 BigQuery 和 Cloud Storage 等接收器。
在以下场景中,请考虑使用 Dataflow:
高流量数据流水线。Dataflow 作业最多可扩容到数千个工作器。Dataflow 还支持横向自动扩缩,可根据需要添加或移除工作器。
需要复杂转换(例如数据清理、丰富或聚合)的 Data Pipelines。
将 AI 和机器学习集成到数据流水线中。
联接多个数据流,并对窗口化和延迟到达的数据处理进行精细控制。
如需部署 Dataflow 流水线,您可以运行预建的模板或创建 Apache Beam 流水线。对于常见的数据集成场景,请考虑运行模板。如需最大限度地提高灵活性和控制力,或者您的流水线需要自定义逻辑,请创建 Apache Beam 流水线。
使用 Managed Service for Apache Spark
借助 Managed Service for Apache Spark,您可以使用无服务器模型或基于集群的模型来运行 Apache Spark 工作负载。
如果您有现有的 Spark 流水线,不妨考虑将 Managed Service for Apache Spark 与 Kafka 数据搭配使用。例如,如果您有一个 Spark 应用可以处理来自 Kafka 的流式数据,并且您想将此应用迁移到Google Cloud,那么 Managed Service for Apache Spark 是一个合适的选择。
后续步骤
使用 Dataflow 模板:
创建 Apache Beam 流水线:
对于 Spark Streaming 和 Kafka,Apache Spark 提供了一份集成指南。