2013-12-17 40 views
0

爲了有一個鬆散耦合的體系結構,我可以擁有一臺擁有Redis和Sidekiq的服務器,以及另一個可以創建多個實例的獨立工作服務器嗎?如何將Sidekiq與應用程序服務器不同的服務器放在redis旁邊?

我現在擁有的是:

  1. 服務器A:

    • Redis的
    • Sidekiq
    • Rails的將圖像轉換
  2. 服務器B:

    • 的Rails通過控制器調用服務器A的Sidekiq的perform_async(圖)

我想要做的是:

  1. 服務器A:
    • 的Redis
    • Sidekiq
  2. 服務器B(可擴展):
    • Rails的將圖像轉換-Sidekiq Workers-
  3. 服務器C:
    • Rails的調用服務器A推作業隊列以便服務器B可以通過從服務器A的隊列中提取來轉換它們。
+0

你能解釋一下更多的問題嗎?你爲什麼不能? – Eli

+0

@Eli,對於遲到的回覆感到抱歉,我編輯了這個問題,我希望這能夠更好地解釋我心中的想法。 – MRifat

回答

2

是的,你讓事情變得更可擴展性,雖然事情會稍微慢一點這種方式,因爲你將服務器A和B(其中在第一種情況下,他們之間通信時,增加了網絡IO在同一臺服務器上)。你還需要支付和管理那個額外的盒子。如果您接近在場景A中無法獲得足夠吞吐量的地步,切換就很有意義。如果你不是,這似乎是不成熟的優化。

相關問題