2013-10-02 1 views
0

У меня есть рабочий, который в настоящее время может принимать задания/задачи только через HTTP. То есть вместо запуска демона, прослушивающего порты TCP и получения необработанных сообщений, он только прослушивает HTTP-сообщения. (Я знаю, что HTTP - это просто дополнительный слой поверх TCP). Таким образом, рабочие задания должны быть созданы и обернуты вокруг HTTP-сообщений.Job Manager Message Queue over HTTP

Я хочу использовать диспетчер заданий для постановки задач в очередь и отправки этих задач через HTTP в пул рабочих, как описано выше.

Есть ли менеджеры по работе, которые ретранслируют задачи по HTTP? Я не имею в виду принятие задач по HTTP, это не имеет значения, но они должны иметь возможность отправлять задачи рабочим по HTTP.

Существуют другие функции, которыми обладает менеджер по работе, например, отказоустойчивость. И хотя HTTP-соединение не является постоянным, можно ли реплицировать все TCP-сигналы, которые рабочий вернется в диспетчер заданий через HTTP?

Одно решение, которое я думал о наличии прокси между ними, преобразует TCP-сообщения в сообщения HTTP. Но это было трудно сделать.

ответ

0

Я считаю, что лучшей архитектурой будет зрелая очередь заданий + оболочка для API вашего рабочего.

  1. Вы выбираете планировщик заданий/очередь с вашими требованиями (сельдерей или что угодно)
  2. Написать сценарий оболочки, который способен передавать задания на ваш рабочий, отчет о состоянии работника и т.д.
+0

Да, я тоже об этом думал, используя прокси-сервер HTTP to TCP. Однако некоторые другие решения также открылись, так как рабочий может теперь напрямую принимать соединения сокетов. Благодаря! – CMCDragonkai