Azure Event Hub与Kafka作为服务代理

问题描述

我正在评估Azure Event Hub与Kafka作为服务代理的使用。我希望可以并排创建两个本地应用程序,一个使用Kafka消耗消息,另一个使用Azure Event Hub消耗消息。我已经设置了一个Kafka实例的docker容器,并且正在使用我的Azure帐户设置Azure事件中心(据我所知,没有其他方法可以为Azure创建本地/开发实例活动中心)。

在比较他们的功能时,有没有人知道这两者的有用信息?

解决方法

虽然Apache Kafka是通常需要安装和运行的软件,但Event Hubs是一项完全托管的云原生服务。从来没有要管理和监视的服务器,磁盘或网络,也没有要考虑或配置的代理。您创建一个名称空间,该名称空间是具有完全限定域名的终结点,然后在该名称空间内创建事件中心(主题)。有关事件中心和名称空间的更多信息,请参见事件中心功能。作为一项云服务,事件中心使用单个稳定的虚拟IP地址作为端点,因此客户端无需了解群集中的代理或计算机。即使事件中心实现了相同的协议,这种差异也意味着所有分区的所有Kafka流量都可以通过该端点进行路由,而不是要求群集的所有代理都具有防火墙访问权限。 Event Hub的规模由您购买的吞吐量单位控制,每个吞吐量单位使您每秒获得1 MB的容量,即每秒有1000个事件的入口,而出口量则是两倍。如果使用自动充气功能,则事件中心可以在达到吞吐量限制时自动按比例增加吞吐量单位。此功能也可以在Apache Kafka协议支持下使用。

您可以在此处找到更多有关功能比较的信息-https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview

,

如果你选择 azure 作为你的 iaas 和 paas 解决方案,那么这个决定通常是由更广泛的架构选择驱动的,那么事件中心在 azure 生态系统中提供了一个很好的集成,但如果你不希望供应商锁定 kafka 是更好的选择.

在操作上,如果您想要完全托管的服务,那么使用事件中心,它是开箱即用的,但使用 kafka,您也可以通过融合平台获得此功能。

成熟度明智的 kafka 较旧,并且拥有庞大的社区,您可以获得更大的支持。

kafka 生态系统提供的功能明智 azure 生态系统具有这些功能,但是如果您只谈论事件中心,那么与 kafka 相比,它缺少的功能很少

我认为此链接可以帮助您扩展您的理解https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview

,

Kafka可以有多个主题,每个Azure Event Hub都是一个主题。 Kafka在容器内运行意味着您必须对其进行管理。 Azure Event Hub是PaaS,这意味着他们管理平台方面。如果您不知道如何使Kafka冗余,可靠和可扩展,则可能要使用Azure Event Hub或提供类似发布/订阅模型的任何PaaS。 Event Hub平台已经具有可伸缩性,可靠性和冗余性。

,

你应该比较

  • 管理能力/努力(如前所述)
  • 功能性能力,例如竞争客户和发布/订阅模式
  • 性能:如果您计划超过事件中心配额,您应该考虑 kafka
,

无法直接添加评论,但当前评分最高的答案有一行

Kafka 可以有多个主题,每个 Azure 事件中心是一个主题。

这具有误导性,因为它听起来好像您不能拥有多个主题,而您却可以。 根据 https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview#kafka-and-event-hub-conceptual-mapping,“事件中心”是一个主题,而“事件中心命名空间”是 Kafka 集群。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...