【问题标题】:How can I place Sidekiq alongside redis on a different server than the app server?如何将 Sidekiq 与 redis 一起放置在与应用服务器不同的服务器上?
【发布时间】:2014-01-05 09:58:43
【问题描述】:

为了拥有一个松散耦合的架构,我可以拥有一个具有 Redis 和 Sidekiq 的服务器,以及另一个可以创建多个实例的独立工作服务器吗?

我现在拥有的是:

  1. 服务器 A:

    • Redis
    • Sidekiq
    • 用于转换图像的导轨
  2. 服务器 B:

    • Rails 通过控制器调用 Server A 的 Sidekiq 的 perform_async(image)

我想做的是:

  1. 服务器 A:
    • Redis
    • Sidekiq
  2. 服务器 B(可扩展):
    • 用于转换图像的导轨 -Sidekiq Workers-
  3. 服务器 C:
    • Rails 调用服务器 A 将作业推送到队列,以便服务器 B 可以通过从服务器 A 的队列中拉取作业来转换它们。

【问题讨论】:

  • 你能解释一下这个问题吗?为什么你不能?
  • @Eli,抱歉回复晚了,我编辑了问题,希望这能更好地解释我的想法。

标签: ruby-on-rails-4 redis sidekiq


【解决方案1】:

是的,您可以让事情更具可扩展性,尽管这样会稍微慢一些,因为在服务器 A 和服务器 B 之间进行通信时会增加网络 IO(在第一种情况下,它们位于同一台服务器上)。您还需要支付和管理额外的盒子。如果您接近在场景 A 中无法获得足够吞吐量的地步,则切换是有意义的。如果不是,这似乎是过早的优化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2011-07-25
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多