【发布时间】:2015-07-08 07:08:24
【问题描述】:
我有一个在 ElastiCache 上运行的 Redis 集群。
多个进程连接到 Redis 集群。每个进程都存在于一个 Docker 容器中。进程并不完全相同——我有一个web 进程、一个worker 进程等。
正常运行几天后,我的一些web进程在连接Redis时开始超时。当我ssh 进入受影响的web 容器并尝试通过redis-cli 访问集群时,我与集群的连接超时。这告诉我这个问题会影响整个容器,而不仅仅是web 进程。
当我在任何其他容器中使用redis-cli 时,我可以毫无问题地连接。
我的web 进程根据需要创建新连接,并在它们长时间空闲时关闭旧连接。我的猜测是,任何给定的 Docker 容器都可以在达到某种限制之前打开一定数量的连接。几天后,我的web 容器达到了这个限制。
知道如何解决这个问题吗?
--
更多细节:出于某种原因,重置我的 Redis 集群解决了所有 web 容器的问题。也许 Redis 服务器对可以从给定 IP 地址打开多少个连接施加了限制?
【问题讨论】:
标签: ruby redis docker amazon-elasticache