Ruby 连接时Redis客户端超时
我有一个运行在ElastiCache上的Redis集群 多个进程连接到Redis群集。每个进程都位于Docker容器中。这些过程并不完全相同——我有一个Ruby 连接时Redis客户端超时,ruby,redis,docker,amazon-elasticache,Ruby,Redis,Docker,Amazon Elasticache,我有一个运行在ElastiCache上的Redis集群 多个进程连接到Redis群集。每个进程都位于Docker容器中。这些过程并不完全相同——我有一个web过程,一个worker过程,等等 正常运行几天后,我的一些web进程在连接到Redis时开始超时。当我ssh进入受影响的web容器并尝试通过redis-cli到达集群时,与集群的连接超时。这告诉我问题影响整个容器,而不仅仅是web过程 当我从任何其他容器中使用redis cli时,我的连接没有问题 Myweb进程根据需要创建新连接,并在旧连
web
过程,一个worker
过程,等等
正常运行几天后,我的一些web
进程在连接到Redis时开始超时。当我ssh
进入受影响的web
容器并尝试通过redis-cli
到达集群时,与集群的连接超时。这告诉我问题影响整个容器,而不仅仅是web
过程
当我从任何其他容器中使用redis cli
时,我的连接没有问题
Myweb
进程根据需要创建新连接,并在旧连接长时间空闲时关闭它们。我的猜测是,任何给定的Docker容器都可以在达到某种限制之前打开一定数量的连接。几天后,我的web
容器达到了这个极限
你知道怎么解决这个问题吗
--
还有一个细节:出于某种原因,重置我的Redis集群解决了所有
web
容器的问题。也许Redis服务器对一个给定IP地址可以打开多少连接施加了限制?Josiah和我进行了长时间的讨论,这有助于解决我的问题;希望这次讨论将来能对其他人有所帮助。约西亚和我进行了长时间的讨论,帮助解决了我的问题;希望这次讨论将来能对其他人有所帮助