2016-06-11 9 views
0

Я новичок в системах массового обслуживания. Я использую resque с моим текущим приложением, и у меня есть три очереди для мониторинга. Интересно, как лучше всего запускать и управлять задачами resque. Причина в том, что я немного запутался в так много вариантов, предлагаемых разработчиками в Интернете. В частности, моя путаница связана с этими двумя стратегиями.Каков наилучший способ управления рабочими местами resque?

  • спасательного бассейн
  • спасательный бассейна с богом

зачем мне Resque бассейна, если я могу запустить рабочий с богом в одиночку?

+0

Реализирован ли ваш запрос? –

+0

Не совсем, я все еще путаюсь с множеством драгоценных камней, доступных, чтобы сделать такую ​​основную вещь. Я планирую развернуть свое приложение с capistrano + Chef. Бегущий бог добавляет сложность, которая кажется неизбежной. Но я действительно не в состоянии понять необходимость реск-пула. похоже, слишком много инструментов, чтобы убить мышь. Невозможно использовать рескский пул или нет. Даже анализ компромисса, если таковой имеется. – Rahul

+0

Можете ли вы объяснить мне ваши потребности? Как часто работает ваш рабочий? –

ответ

-1

Выполнение рабочих заданий обычно является асинхронным заданием. Это означает, что вы не дожидаетесь их завершения, чтобы продолжать работу с вашим запросом или тем, что называется заданием.

Поскольку природа работ асинхронна, это может означать, что в какой-то момент вы запрашиваете несколько заданий за один раз. Из-за ограничений ЦП эти задания либо найдут занятый процессор, либо ожидают или потерпят неудачу.

Реск-пул - способ сохранить их в очереди, выполненный по одному. Если они терпят неудачу, они иногда переходят в режим повтора и т. Д.

Бог - инструмент для мониторинга демонов. Он будет контролировать сервер рабочих мест, чтобы разрешить прием рабочих мест, но не обязательно обрабатывать сбои или обрабатывать задания в том порядке, в котором они вошли, и т. Д.

Хорошим инструментом, который пытается инкапсулировать все это в один, является sidekiq. Существует также railscast об этом, который хорошо объясняет, как работать с ним (хотя это может быть немного старым): http://railscasts.com/episodes/366-sidekiq

+0

Спасибо за ответ ... Есть ли какой-либо сенарио, когда можно было бы избежать повторного пула. Причина, по которой я спрашиваю об этом, состоит в том, что я чувствую, что это сложность. – Rahul

1

Resque был разработан для обработки фоновых заданий, в основном для обработки заданий, которые остаются в очереди на более короткое время ,
Он появился на картинке в качестве замены замедленного задания. Когда ваши фоновые задания увеличиваются, вы должны выбрать Resque.
Теперь, прежде чем говорить о мониторинге, я немного поговорю о том, как работает Resque.

  1. Resque имеет Redis в качестве внутреннего интерфейса, который является в базе данных памяти, имеющего Redis, как бэкенд делает его быстрее.
  2. Resque имеет процессы, которые будут выполнять задания и выполнять их, рабочий принимает задание и развивает ребенка, который выполнит работу и выйдет. Таким образом, обычно одна вилка на одно задание - это то, что Resque предоставляет по умолчанию.

  3. В настоящее время существует огромное количество плагинов для улучшения функциональности Resque. Для примера: Resque бассейн,

Почему нам это нужно и когда: Люди имеют свои требования как один работник нескольких рабочих места на вилку. Люди хотят этих вещей, чтобы эти плагины были полными.

  • Resque Pool: является демоном для управления пулом рабочих-рескей. С простым конфигурационным файлом он управляет вашими работниками для вас, запустив подходящее количество работников для каждого типа работника. Таким образом, ваша жизнь становится легкой, так как вы можете управлять своими работниками этим.
  • Бог также существует как инструмент для мониторинга ваших работников, в основном все это для улучшения существующих функций Resque.
  • Вы можете также искать Resque-сети это веб-портал для мониторинга вашей Resque системы:

Вы можете следить за приведенные ссылки, которые помогают полный ко мне: Redis Стойкости: http://redis.io/topics/persistence

Как Resque работы с Redis: http://girders.org/blog/2011/10/30/how-queuing-with-resque-works/

Resque-страница: https://github.com/resque/resque-web

учебник: http://www.sitepoint.com/simple-organized-queueing-with-resque/

Несколько Redis серверов: What's the Point of Multiple Redis Databases?

Redis-базы данных

Resque-планировщик: https://github.com/resque/resque-scheduler

Resque бассейн для управления рабочими: https://github.com/nevans/resque-pool

Resque-мульти-заданий вилкой: https://github.com/stulentsev/resque-multi-job-forks

Развертывание в производство: How to deploy resque workers in production? deploy-resque-workers-in-production? Rq = 1