看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!
在 Build 2018 大会期间,微软宣布它将支持 Kafka 客户端与 Azure Event Hub 的集成。负责 Azure Event Hub 的微软工程团队为用户提供了一个 Kafka 端点,用以接入事件数据。
Event Hub 是微软 Azure 的事件摄取服务,提供了一个高度可扩展的数据流平台。开发人员可以使用 Event Hub 代替 Kafka 集群,同时能够应用捕捉(Capture)、自动扩展(Auto-Inflate)和 Geo 灾难恢复等功能。Tom Kerkhove 是来自 Codit 的 Azure 顾问,同时也是微软 Azure MVP,他告诉 InfoQ:
有了可以支持 Kafka 生态系统的 Event Hub,我可以使用 Kafka 协议,无需考虑基础设施问题,可以专注处理自己的事件。
Kafka 和 Azure Event Hub 都是可扩展的基于事件驱动的分布式消息平台,支持多个生产者和消费者。此外,两者都可用于处理由实时事件驱动的大规模流摄取。微软消息服务架构师 Clemens Vasters 在博文中表示:
从概念上讲,它们都是分布式、分区和复制的提交日志服务。两者都使用分区消费模式,为并行消费者提供大规模可扩展性。两者都使用了客户端游标概念,并可扩展到非常高的工作负载。
在创建 Event Hub 名称空间时启用 Kafka 端点就可以实现 Kafka 客户端应用程序与 Event Hub 的集成。
随后,在 Kafka 客户端,开发人员需要将参数切换到 Kafka 端点(即 Event Hub 名称空间的完全限定名)。此外,开发人员需要将安全机制设置为 PLAIN,并将 Event Hub 连接字符串作为密码。
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093 security.protocol=SASL_SSL sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";
请注意,用于 Kafka 生态系统的 Azure Event Hub 公开预览版支持 Apache Kafka 1.0 及更高版本。不过,预览版存在一些限制,比如缺少对幂等生产者(Idempotent Producer)、HTTP Kafka API 和 Kafka Streams 等功能的支持。
在支持 Kafka 端点的同时,微软也推出了一个模拟 Kafka 功能的门面(facade)。 Pivotal 产品高级总监 Richard Seroter 在最近的一篇博文中写道:
Azure Cosmos DB 有自己的本地接口,但也有模拟 MongoDB 和 Apache Cassandra 的接口。 Azure Event Hub 最近加入了 Apache Kafka 接口。如果你有使用这些接口的应用程序或工具,那么就可以很方便地使用 Azure Event Hub。Azure 不提供 MongoDB、Cassandra 或 Kafka 服务,但它们的第一方服务可以让你不必更改代码即可获得 Azure 的服务。这是一个很好的策略。
Kafka 对 Event Hub 的支持目前仅在美国东部和西部地区可用,Event Hub 的价格详情请参阅定价页面。此外,有关Kafka 支持的更多信息可在微软文档“用于Kafka 生态系统的Event Hub ”上找到。
查看英文原文: Microsoft Announces Azure Event Hubs for Kafka Ecosystems in Public Preview
评论