云计算·大数据 频道

StreamNative将Kafka集成到基于Apache Pulsar的云中

  StreamNative是由Apache Pulsar和Apache BookKeeper提供支持的云原生事件流平台的制造商,最近宣布了其StreamNative cloud for Kafka产品的测试版,该产品在云产品中集成了Apache Kafka和Pulsar。StreamNative简要介绍了这两个看似竞争激烈的流媒体平台如何融合在一起。

  StreamNative于2019年由前雅虎同事Sijie Guo和Apache Pulsar的原始开发者Matteo Merli创建。这两人自10年前该技术问世以来一直在研究该技术。当时的目标是构建一个消息平台,将所有Yahoo服务集中在一个系统中,并允许可扩展的工作负载排队。当时可用的消息传递系统没有满足Yahoo的要求,包括跨工作负载处理大量消息传递主题,以及提供多租户架构以简化基础设施管理。这些正是Apache Pulsar的主要功能。

  里面是什么

  Pulsar是一个开源的分布式消息传递系统,可以在广泛的用例中使用,通过将存储底层消息数据的资源与处理消息分发的计算资源分离,具有足够的可扩展性,可以轻松移动大量数据。

  Pulsar包括一个管理组件,支持内置多租户和地理复制,以便跨消息传递基底复制数据。这种多层方法使Pulsar特别适合于云环境和容器环境,这两种环境都将计算和存储分离作为一项关键原则。

  Pulsar vs.Apache Kafka:我们必须做出选择吗?

  StreamNative Cloud for Kafka为在Apache Kafka(一种几乎无处不在的分布式事件存储和流处理平台)上有重大投资的组织带来了这些功能,以及对大量主题的支持。StreamNative Cloud for Kafka允许用户保留和使用Kafka的API、wire协议甚至其连接器,同时能够在后端充分利用Apache Pulsar及其自身的功能。

  两年前,StreamNative用Kafka on Pulsar(KoP)播下了StreamNative Cloud for Kafka的种子。Kafka on Pulsar(KoP)是开源Pulsar的先驱功能。现在,StreamNative Cloud for Kafka也将此功能集成到StreamNative的云平台中。

  Kafka式挑战

  StreamNative与许多投资于Apache Kafka的组织合作,并表示这些组织已经看到了挑战。例如,StreamNative表示,在Kafka内部以原生方式实现多租户可能很困难,因为不同的组织或团队可能使用完全不同的Kafka集群,这反过来会带来巨大的管理开销。

  StreamNative的首席架构师Addison Higham评论道,“在微服务世界中,你有许多不同的应用程序,客户有各种各样的用例;例如,他们需要对大量主题的支持”,这是出于合规性和其他原因。”

  对于Kafka,“如果你添加更多的主题,可能会导致性能下降”,Pulsar可以支持数百万个主题。”StreamNative还解释说,Pulsar提供了一个工作队列,用户可以在其中连接任意多个使用者,而Kafka需要连接分区或主题,这通常会使复杂的计算变得困难,特别是在机器学习场景中,会施加很大的限制。

  StreamNative认为,其新的Kafka/Pulsar产品可能会吸引已经投资Kafka的组织,原因有很多。Higham说:“对于一些组织来说,这更多的是关于功能,而对于一些组织来说,这更多的是关于管理方面,对于其他组织来说,这是他们向更云原生战略迈进的一部分。在所有情况下,我们都看到Pulsar是一种解决他们问题的技术,现在我们支持Kafka的能力有助于简化迁移过程。”

  简化流程

  StreamNative将Cloud for Kafka产品视为将开源技术引入其完全管理的云服务并提供更完整解决方案的下一步。它认为该产品缩短了Pulsar的价值实现时间,因为它使客户能够使用其现有的应用程序,避免了Kafka生态系统的投资损失。

  虽然激发Apache Pulsar创建的最初需求没有十年前那么紧迫,但Pulsar的许多核心价值主张仍然具有相关性——对于一些组织来说,可能甚至比以前更加重要。毫不奇怪,StreamNative相信,流媒体数据市场将看到Pulsar应用的加速趋势。

  Pulsar的份额可能会增加,也可能不会增加,但有一点是明确的:即使Kafka没有被用作原生消息传递后端,其API、协议和连接器生态系统共同构成了事实上的行业标准。越来越多看似有竞争力的技术和公司可能会支持这一标准。主要的云提供商已经这样做了,现在StreamNative也这样做了。

0
相关文章