我们正在新创建的 kubernetes 集群中运行我们的一项服务。因此,我们现在已将它们从以前的"内存中"缓存切换到 Redis 缓存。
对公开 API 的应用程序进行的初步测试表明,我们遇到了从应用程序到 Redis 缓存的超时。我不知道为什么,它的问题非常不定期地弹出。
所以我想也许这些超时的原因实际上与网络有关。放置亲和力是一个好主意,以便我们始终在与应用程序相同的节点上运行 Redis 缓存以防止网络问题?
在"非常高负载"的情况下没有出现这些问题,所以这让我有点担心。
这是一个意见问题,所以我会以一种固执己见的方式回答:
就像你提到的,我会尝试将 Redis 和应用程序 Pod 放在同一个节点上,这将排除wire
网络问题。你可以通过 Kubernetes pod 亲和力来实现这一点。但您也可以尝试 nodeslector,这样您始终将 Redis 和应用程序 Pod 固定到特定节点。
执行此操作的另一种方法是污染要运行工作负载的节点,然后向 Redis 和应用程序 Pod 添加容差。
希望对您有所帮助!