首页 > 解决方案 > Kubernetes 中托管的容器之间的快速数据交换

问题描述

我正在移动一个应用程序,该应用程序需要在 kubernetes 集群中的多个容器中运行的进程之间进行近乎实时的数据交换。我正在考虑为此目的使用redis缓存。

需要交换的数据类型是简单类型,例如双精度、字符串值。交换频率需要接近实时(亚秒级)

是否有其他更高效的机制可用于在 Kubernetes 环境中托管的容器之间交换数据?

标签: kubernetesrediscontainers

解决方案


这是一个非常复杂的问题,其中的细微差别远远超出了这里的范围。这在很大程度上取决于对象大小、正常运行时间要求、集群规模等。我建议您尝试所有这些,评估性能并分析适用于您的用例的故障模式。

您可以尝试一些事情:

  • 雷迪斯
  • 内存缓存
  • 带有 mmap 的本地文件
  • 带 mmap 的网络块设备
  • 带 mmap 的 NFS
  • 以上所有三个都与 RocksDB
  • Postgres
  • 卡夫卡

在编码方面评估:

  • JSON(不要使用它,仅用于基线)
  • 协议缓冲区
  • CapnProto
  • 消息包
  • 也许是 BSON?

推荐阅读