是否应该将所有使用 redis 缓存的 Pod 限制到与 rediscache 本身相同的节点?



我们正在新创建的 kubernetes 集群中运行我们的一项服务。因此,我们现在已将它们从以前的"内存中"缓存切换到 Redis 缓存。

对公开 API 的应用程序进行的初步测试表明,我们遇到了从应用程序到 Redis 缓存的超时。我不知道为什么,它的问题非常不定期地弹出。

所以我想也许这些超时的原因实际上与网络有关。放置亲和力是一个好主意,以便我们始终在与应用程序相同的节点上运行 Redis 缓存以防止网络问题?

在"非常高负载"的情况下没有出现这些问题,所以这让我有点担心。

这是一个意见问题,所以我会以一种固执己见的方式回答:

就像你提到的,我会尝试将 Redis 和应用程序 Pod 放在同一个节点上,这将排除wire网络问题。你可以通过 Kubernetes pod 亲和力来实现这一点。但您也可以尝试 nodeslector,这样您始终将 Redis 和应用程序 Pod 固定到特定节点。

执行此操作的另一种方法是污染要运行工作负载的节点,然后向 Redis 和应用程序 Pod 添加容差。

希望对您有所帮助!

最新更新