2015-07-01 191 views
1

我有一個在ElastiCache上運行的Redis集羣。連接時Redis客戶端超時

多個進程連接到Redis羣集。每個進程都駐留在Docker容器中。該過程並不都是一樣的 - 我有一個web過程中,worker工藝等

後運行正常的幾天,我的一些web過程的開始時間從連接到Redis的時候。當我將ssh裝入受影響的web容器並嘗試通過redis-cli到達羣集時,我與羣集的連接超時。這告訴我,問題影響整個容器,而不僅僅是web過程。

當我使用redis-cli從任何其他容器,我連接沒有問題。

我的web進程根據需要創建新的連接,並在長時間閒置時關閉舊連接。我的猜測是任何給定的Docker容器都可以在達到某種限制之前打開一定數量的連接。幾天後,我的容器達到了這個限制。

任何想法如何去解決這個問題?

-

一個細節:由於某種原因,重置Redis的集羣解決所有web容器的問題。也許Redis服務器會限制從給定IP地址打開多少個連接?

回答