Redis客户端连接超时

Redis client times out when connecting

我在 ElastiCache 上有一个 Redis 集群 运行。

多个进程连接到Redis集群。每个进程都存在于一个 Docker 容器中。这些流程并不完全相同——我有一个 web 个流程,一个 worker 个流程,等等

正常运行几天后,我的一些 web 进程在连接到 Redis 时开始超时。当我 ssh 进入受影响的 web 容器并尝试通过 redis-cli 访问集群时,我与集群的连接超时。这告诉我这个问题影响了整个容器,而不仅仅是 web 进程。

当我从任何其他容器使用 redis-cli 时,我的连接没有问题。

我的web 进程根据需要创建新连接,并在它们长时间空闲时关闭旧连接。我的猜测是任何给定的 Docker 容器都可以在达到某种限制之前打开一定数量的连接。几天后,我的 web 个容器达到了这个限制。

知道如何解决这个问题吗?

--

更多细节:出于某种原因,重置我的 Redis 集群修复了所有 web 容器中的问题。也许 Redis 服务器对可以从给定 IP 地址打开多少个连接施加了限制?

Josiah 和我进行了长时间的讨论 on the Redis Google group 这有助于解决我的问题;希望以后的讨论能对其他人有所帮助。