2010-05-27 3 views
0

Мне нужна простая система типа очереди задач для асинхронного управления задачами.Служба наилучшей рабочей очереди для распределенных кластеров

Я рассмотрел как beanstalkd, так и gearman. Однако оба они предполагают, что клиент и сервер очереди находятся в одной сети, и поэтому между ними всегда будет надежная сеть.

Мне нужен тот, который может поддерживать клиент и сервер, находящиеся в разных местах в мире, и иметь возможность управлять временной потерей сетевого соединения между кластерами.

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

Любые рекомендации?

ответ

-1

Попробуйте ActiveMQ. Клиентские библиотеки (независимо от того, отправляют или потребляют сообщения) достаточно умны, чтобы автоматически подключаться к сбоям в сети, перезагрузке сервера и т. Д. Для меня это хорошо работает в моей локальной сети и с несколькими компьютерами, подключенными через VPN. Я использую Apache NMS в качестве клиентской библиотеки для .NET и одного экземпляра экземпляра ActiveMQ.

Он также поддерживает HTTP, но я еще не пробовал, не знаю, поддерживает ли поддержка повторного подключения и т. Д.

Существует также поддержка для запуска более одного брокера (сервера) для кластеризации и балансировки нагрузки, называемой «сеть брокеров». Брокеры могут даже сидеть за брандмауэром. Мог быть вариантом для вас, если у вас есть большое количество производителей/потребителей в нескольких местах.

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

  • Нет связанных вопросов^_^