3

我想知道是否可以将kafka作为云原生应用程序运行,并且可以在Pivotal Web Services上创建一个kafka集群作为服务。我不希望只有客户端集成,我想运行kafka集群/服务本身?如何在cloudfoundry上使用kafka和风暴?

感谢, 阿尼尔

回答

3

我可以在一些出发点指向你,就涉及从这些出发点去的东西全功能的一些工作。

一种选择是使用docker镜像在Cloud Foundry上部署kafka集群(例如Pivotal Web Services)。 Spotify has Dockerized kafka and kafka-proxy(包括Zookeeper)。有一点需要记住的是,PWS目前不支持持久性应用程序(尽管this work is starting),所以如果你现在要走这条路线,那么当应用程序被推出时,你将失去kafka的数据。看看Spotify的repo,看起来docker映像通常运行时没有任何挂载的卷,所以这个持久化的kafka似乎可能是一个有效的用例(我对kafka说的不够了解)。

另一种选择是使用BOSH直接在某些IaaS(例如AWS)上部署kafka。如果您第一次看到BOSH可能会很困难,但它是部署您希望在虚拟机上运行的任何分布式软件的理想方式。如有必要,您还可以将持久卷连接到您的kafka虚拟机。这是可以工作的kafka BOSH release

集群运行后,您有两种方法可以将Cloud Foundry应用程序与其集成。最简单的方法就是将它作为“user-provided service”提供给您的应用程序,让您可以将kafka集群访问信息传输到您的应用程序。另一种方法是将服务代理放置在集群前面,如果您有许多不同的人将推送需要与kafka集群交谈的应用程序,这将特别有用。而不是每次都必须手动告诉人们访问信息,他们可以做一些简单的事情,如cf bind-service SOME_APP YOUR_KAFKA_SERVICE。这里是kafka service broker以及more info about service brokers in general

相关问题