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

问题描述 投票:5回答:3

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

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

  • 卡夫卡
  • 的RabbitMQ
  • Redis的

Kafka

它需要zookeeper,并且在os上运行取决于磁盘I / O。那么如果将它安装到k8s集群中,怎么样?表现会更差?

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

RabbitMQ

它比Kafka慢,但对于每日活动用户500,000的应用程序,它是否足够好?如果是这样,也许这是一个不错的选择。

Redis

这是另一种选择。也许是最简单的一个。但是从互联网上我得知它有时会失去信息。如果是真的,那太可怕了。


所以,最重要的是,在k8s上使用Kafka(也使用zookeeper),在这个用例中好不好?

redis rabbitmq apache-kafka kubernetes apache-zookeeper
3个回答
2
投票

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


PS。在Kubernetes上运行你问题中的任何服务都会很愉快。您可以使用Google的服务名称和“kubernetes”查找示例清单。这里有很多例子:https://github.com/kubernetes/charts


1
投票

对于卡夫卡,你可以找到一些建议here。 Kubernetes 1.7+支持local persistent volume,这可能对Kafka部署有利。


1
投票

您还可以查看以下项目:

https://github.com/EnMasseProject/barnabas

这是关于在Kubernetes和OpenShift上运行Kafka。它提供了使用持久卷或仅在内存中的StatefulSets部署(用于开发或仅用于测试目的)。它还为Kafka Connect和Prometheus指标提供部署。

© www.soinside.com 2019 - 2024. All rights reserved.