2013-12-17 1 views
0

Чтобы иметь слабо связанную архитектуру, могу ли я иметь сервер с Redis и Sidekiq и другой отдельный рабочий сервер, на котором я могу создать несколько экземпляров?Как разместить Sidekiq вместе с redis на другом сервере, чем сервер приложений?

То, что я сейчас:

  1. Сервер:

    • Redis
    • Sidekiq
    • Rails конвертировать изображения
  2. сервер B:

    • Rails называет perform_async сервер А в Sidekiq в (изображение) через контроллер

То, что я хочу сделать, это:

  1. Сервер:
    • Redis
    • Sidekiq
  2. Сервер B (масштабируемый):
    • Rails конвертировать изображения -Sidekiq Workers-
  3. Сервер C:
    • Rails, который вызывает сервер A, чтобы подтолкнуть рабочие места в очередь так что сервер Б может их преобразовать, вытаскивая из очереди сервера А.
+0

Не могли бы вы объяснить вопрос больше? Почему ты не сможешь? – Eli

+0

@ Эли, извините за поздний ответ, я отредактировал вопрос, я надеюсь, что это лучше объяснит, что я имею в виду. – MRifat

ответ

2

Да, вы будете делать вещи более масштабируемым, хотя все будет немного медленнее, таким образом, так как вы будете увеличивать сеть IO при обмене данными между сервером и сервером A B (где в первом случае они были на том же сервере). Вам также нужно будет заплатить за эту дополнительную коробку и управлять ею. Если вы близки к точке, в которой вы не можете получить достаточную пропускную способность в сценарии A, переключение имеет смысл. Если вы этого не сделаете, это кажется преждевременной оптимизацией.

Смежные вопросы