在Kubernetes上运行Kafka的好方法吗?

onl*_*ine 6 rabbitmq redis apache-kafka kubernetes apache-zookeeper

对于大型在线应用程序,请使用k8s来运行它。规模可能是每日活动用户500,000。

k8中的应用程序需要消息传递功能-Pub / Sub,有以下选项:

  • 卡夫卡
  • 兔子MQ
  • 雷迪斯

卡夫卡

它需要zookeeper,并且能否在os上运行取决于磁盘I / O。那么,如果将其安装到k8s集群中,怎么办?性能会变差吗?

而且,如果将Kafka保留在k8s集群之外,请从k8s集群内部的应用程序连接Kafka,那么性能如何?他们在不同的层,会不会很慢?

兔子MQ

它比Kafka慢,但是对于每天有50万应用程序的用户来说,它足够好吗?如果是这样,也许这是一个不错的选择。

雷迪斯

这是另一种选择。也许是最简单的一种。但是从互联网上我知道它有时会丢失信息。如果为真,那就太糟糕了。


因此,最重要的是,在k8s上使用Kafka(也与zookeeper一起使用),在此使用案例中是好还是不好?

Dmi*_*sky 5

是的,在 Kubernetes 上运行 Kafka 很棒。看看这个例子:https : //github.com/Yolean/kubernetes-kafka。它包括 ZooKeeper 和 Kafka 作为StatefulSets。


附注。在 Kubernetes 上运行您问题中的任何服务都会令人愉快。您可以通过 Google 搜索服务名称和“kubernetes”并找到示例清单。这里有很多例子:https : //github.com/kubernetes/charts