【发布时间】:2018-06-05 13:43:15
【问题描述】:
对于大型在线应用,使用 k8s 运行。规模可能日活用户50万。
k8s 内部的应用需要消息传递功能 - Pub/Sub,有以下选项:
- 卡夫卡
- RabbitMQ
- Redis
卡夫卡
它需要 zookeeper 并且在操作系统上运行良好取决于磁盘 I/O。那么如果将它安装到k8s集群中,如何?性能会更差吗?
而且,如果将 Kafka 保持在 k8s 集群之外,将 Kafka 从 k8s 集群内的应用程序连接起来,那性能如何?他们在不同的层,不会很慢吗?
RabbitMQ
它比Kafka慢,但是对于一个日活用户500,000的应用程序来说,它足够好吗?如果是这样,也许这是一个不错的选择。
Redis
这是另一种选择。也许是最简单的一个。但是从互联网上我了解到它有时会丢失消息。如果是真的,那就太可怕了。
所以,最重要的是,在 k8s 上使用 Kafka(也与 zookeeper 一起),在这个用例中好还是不好?
【问题讨论】:
标签: redis rabbitmq apache-kafka kubernetes apache-zookeeper