嗨,我剛剛推出了一個rails 4應用程序,它使用nginx作爲負載均衡器和2個端口上的精簡服務欄。另外我使用redis作爲緩存,它也被sidekiq使用。Rails 4.2使用nginx redis和sidekiq進行負載均衡
我想知道如何使用另一臺機器進行擴展,以便在那裏運行兩個更多的rails應用程序。我的想法是在另一臺機器上運行另外兩個rails應用程序,但由於sidekiq正在大量使用它,所以令人頭痛的是redis。我的第一個想法只是讓另一個只在第二臺機器上讀取的redis slave。但是這可能會出錯,因爲我有很多寫入redis以檢查工作隊列。
以下情景會讓我困惑。 Web應用程序發出請求並觸發執行長時間運行操作的sidekiq,它不斷更新redis中的狀態。 Web客戶端每秒輪詢應用程序以獲取狀態。現在有可能請求被重定向到第二臺機器,並且還沒有更新的redis slave。所以我想知道如何纔是最好的設置,只是使用一個Redis實例考慮延遲或運行Redis Slave?
哦,邁克我沒想到直接從你那裏得到答案。自從你知道的最好之後,這很棒;)其實你的解決方案也是我所想的。唯一讓我感到不舒服的是自從我運行vm以來的延遲。 – dc10