如何在Cloudfoundry上使用Kafka和Storm?

Ani*_*rma 5 cloud-foundry apache-kafka apache-storm pivotal-web-services pivotal-cloud-foundry

我想知道是否可以将kafka作为云原生应用程序运行,并且我可以在数据透视Web服务上创建kafka集群作为服务。我不想只集成客户端,我想运行kafka集群/服务本身吗?

谢谢阿尼尔

Ami*_*pta 5

我可以向您指出几个起点,从这些起点到功能全面的工作将涉及一些工作。

一种选择是使用docker映像将kafka集群部署在Cloud Foundry(例如Pivotal Web Services)上。Spotify具有Dockerized kafka和kafka-proxy(包括Zookeeper)。要记住的一件事是,PWS当前不支持具有持久性的应用程序(尽管这项工作正在开始),因此,如果您现在走这条路线,则在滚动应用程序时会丢失kafka中的数据。查看该Spotify存储库,看起来docker映像通常在没有任何已装载卷的情况下运行,因此这种无持久性的kafka似乎是一个有效的用例(我对kafka并不了解)。

另一个选择是使用BOSH直接在某些IaaS(例如AWS)上部署kafka。如果您是第一次看到BOSH,可能会很难,但这是部署要在VM上运行的任何分布式软件的理想方法。如有必要,您还可以将持久卷附加到您的kafka虚拟机。这是一个可能有效的kafka BOSH版本

运行集群后,您可以通过两种方式将Cloud Foundry应用程序与其集成。最简单的就是将它作为“ 用户提供的服务 ” 提供给您的应用程序,使您可以将kafka群集访问信息传递到您的应用程序。另一种选择是将服务代理放置在您的集群的前面,如果您有许多不同的人将推送需要与kafka集群通信的应用程序,这将特别有用。不必每次都手动告诉人们访问信息,他们可以做一些简单的事情,例如cf bind-service SOME_APP YOUR_KAFKA_SERVICE。这是一个kafka服务经纪人,以及有关一般服务经纪人的更多信息