redis - 在 Kubernetes 上运行 Kafka 是一种好方法吗?

标签 redis rabbitmq apache-kafka kubernetes apache-zookeeper

大型在线应用,使用k8s运行。规模可能是日活跃用户50万。

k8s里面的应用需要消息功能-Pub/Sub,有这些选项:

  • 卡夫卡
  • RabbitMQ
  • Redis

卡夫卡

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

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

RabbitMQ

比Kafka慢,但是对于一个日活跃用户50万的应用来说,够用吗?如果是这样,也许这是一个不错的选择。

Redis

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


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

最佳答案

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


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

关于redis - 在 Kubernetes 上运行 Kafka 是一种好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47949370/

相关文章:

asp.net-mvc - 在 Asp Net Core 中使用指定的 Redis 数据库实例

spring - 使用 RedisTemplate (Spring) 存储不同的数据

apache-kafka - 使用复制不足的分区修复 kafka 集群

amazon-web-services - 我可以使用 native Redis 命令在 Amazon Elasticache for Redis 中管理/创建用户吗?

ruby-on-rails - $redis 全局变量与 ruby​​ on rails

amazon-ec2 - 在 Amazon EC2 上连接 rabbitmq 集群时出错

python - 定期安排任务的最佳工具?

java - 如何在Java中获取RabbitMQ的当前IP地址?

apache-kafka - Kafka比较一个键的连续值

go - 使用 Shopify Sarama 的 Kafka 错误处理