最近,微软正式发布Azure Event Hubs for Kafka。用户将获得两方面的好处——Kafka 的生态系统和工具,以及 Azure 的安全性和全球规模。此外,通过将两个功能强大的分布式流媒体平台集成在一起,用户无需管理服务器或网络即可访问 Kafka 生态系统应用程序。
6 月初,InfoQ报道了 Kafka 与 Azure Event Hubs 集成预览版,当时负责 Azure Event Hubs 的工程团队为他们的用户提供了一个 Kafka 端点,用于将事件数据通过流式的方式导入其中。现在,集成已经具备了一般可用性,并且该团队还添加了新功能,让用户能够从使用 Kafka 协议的应用程序将数据以流式的方式传输到 Event Hubs,而且只需要修改连接字符串。此外,用户可以继续使用现有的 Kafka 应用程序、框架和工具与 Event Hub 进行通信。
有了 Event Hubs for Kafka,用户可以使用 Kafka 协议直接将事件从应用程序流式传输到 Event Hubs。微软负责管理这项服务,用户不需要运行 Zookeeper,也不需要控制或配置任何群集。此外,Azure Service Bus 项目经理 Shubha Vijayasarathy 在最近的 Azure Friday 节目中说:
用户也可以使用 Kafka Connect 或 MirrorMaker 与 Event Hubs 通信,也无需更改任何代码。
根据公告博客,Kafka 与 Azure Event Hub 集成的其他好处是:
利用 Event Hubs 将数据发送到 Blob 存储或 target="_blank">Event Hubs Capture微批次处理。
从兆字节数据级别扩展到太字节数据级别,同时通过Auto-Inflate控制何时以及可以扩展多少。
支持 Event Hubs forGeo Disaster-Recovery。
Event Hubs 与 Azure>
Event Hubs for Kafka 支持 Apache Kafka 1.0 及更高版本——该工程团队已经将Apache Kafka协议映射到原生 AMQP 1.0 协议。此外,这种协议转换允许其他基于 AMQP 1.0 的应用程序与 Kafka 应用程序通信。基于 JMS 的应用程序可以使用Apache Qpid向基于 Kafka 的消费者发送数据。
Azure Event Hubs 和 Kafka 都旨在处理大规模的实时流摄取,而且是分布式、分区的复制提交日志服务。此外,两者都使用了具有客户端游标概念的分区消费者模型,为工作负载提供了水平可伸缩性。通过为 Kafka 添加端点,Event Hub 可以模拟 Kafka。在 Azure Friday 节目中,Shubha Vijayasarathy 解释了两者的概念架构:
在 Event Hubs 的概念架构中,你有一个 Event Hub 或 Kafka 主题,两者非常相似。Event Hubs 或 Kafka 获取数据的方式都是通过分区,数据就分布在这些分区中。你有一群事件生产者,以及一群对这些数据感兴趣的事件接收者,数据以统一的模式分布在 Event Hubs 或 Kafka 主题中。
有关 Azure Event Hubs for Apache Kafka 的更多详细信息,请参见网站文档。定价页面提供了定价详情
查看英文原文:Microsoft Announces the General Availability of Azure Event Hubs for Apache Kafka