【发布时间】:2017-07-29 23:27:11
【问题描述】:
从性能的角度来看,在 Docker 容器中运行 Kafka 是一个不错的选择吗?有什么需要注意的,特别是调音等等吗?
【问题讨论】:
标签: apache-kafka
从性能的角度来看,在 Docker 容器中运行 Kafka 是一个不错的选择吗?有什么需要注意的,特别是调音等等吗?
【问题讨论】:
标签: apache-kafka
关于这个主题有一个很好的research paper from IBM - 它现在有点过时了,但我相信基本陈述仍然适用并且只是被改进了。要点是,Docker 引入的开销在 CPU 和内存方面非常小,但对于 IO 繁重的应用程序,您需要更加小心。根据工作量,我会将 Kafka 直接放在 IO 繁重的组中,所以这可能不是一件容易的事。 Kafka 从快速磁盘访问中受益匪浅,因此,如果您在某种分布式平台上运行容器,并将存储连接到 SAN 或 NFS 共享或类似的东西上,我假设您会注意到不同之处。但是,如果您只选择容器来简化部署并在一台物理机器上运行它们,我认为差异可以忽略不计。
但与所有性能问题一样,一般来说很难这么说,您必须测试您的特定用例和环境才能确定。
【讨论】:
我相信性能在很大程度上会受到您使用的机器类型的影响。 Linkedin 和其他 Kafka 大用户经常推荐使用旋转磁盘而不是 SSD,因为主要是线性读写以及 IBM 的 Zerocopy 在 Kafka 协议中的使用。在托管许多容器的机器上,您将失去旋转磁盘为 Kafka 提供的所有优势。
【讨论】: