簡體   English   中英

Rails 4.2使用nginx redis和sidekiq進行負載均衡

[英]Rails 4.2 load balancing with nginx redis and sidekiq

嗨,我剛剛推出了一個rails 4應用程序,該應用程序使用nginx作為負載均衡器,在2個端口上使用瘦服務軌道。 另外我使用redis作為緩存,也被sidekiq使用。

我想知道如何使用另一台機器進行擴展,以便在那里再運行兩個rails應用程序。 我的想法是在另一台機器上運行另外兩個rails應用程序,但由於sidekiq正在大量使用它,因此頭痛帶來了redis。 我的第一個想法就是擁有另一個redis slave,它只能在第二台機器上讀取。 但是這可能容易出錯,因為為了檢查工作隊列,我有很多寫入redis的內容。

以下場景讓我感到困惑。 Web應用程序發出請求並觸發執行長時間運行的sidekiq,它會不斷更新redis中的狀態。 Web客戶端每秒輪詢應用程序以獲取狀態。 現在,有可能將請求重定向到第二台機器,而redis slave尚未更新。 所以我想知道如何最好的設置,只使用一個redis實例考慮延遲或運行redis slave?

你有兩台機器:

  1. MachineA運行瘦和sidekiq。
  2. MachineB運行瘦和sidekiq。

現在,您在MachineA上安裝redis,並將Sidekiq指向MachineA for Redis。 Sidekiqs都會在MachineA上與Redis交談。 有關詳細信息,請參閱使用Redis

附注:redis slave對於只讀調試很有用,但對於縮放Sidekiq沒有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM