Я в настоящее время изучаю, какие существует Java совместимые решения для решения своих требований следующим образом:Какие существуют способы распространения асинхронных пакетных задач?
основы- Таймера/планируемых задач для пакетной обработки
- Distributed, и что предоставление возможности масштабирования по горизонтали
- Упругости , нет SPFs
Характер этих задач (тяжелое генерирование XML и доставка на веб-приемные узлы) означает запуск их на одном сервере с использованием чего-то вроде Quartz is not жизнеспособный.
Я слышал о таких технологиях, как Hadoop и JavaSpaces, которые эффективно решают проблему масштабирования и устойчивости. Не зная, подходят ли они для моих требований, трудно понять, какие другие технологии могут хорошо подойти.
Мне было интересно, что люди в этом пространстве чувствовали, были ли доступны варианты, и как каждый играет свои сильные стороны или лучше других справляется с проблемами.
NB: Стоит отметить, что способность к расписанию - это похмелье от того, как мы делаем вещи в настоящее время. Да, есть задачи, которые должны идти в определенное время. Он также использовался для дроссельной пропускной способности в периоды, когда не существует мандата для установленных времен.
Я работал с JMS в прошлом, и в то время как он подходит для асинхронной проверки, я не использовал никаких, которые не были склонны к тому, чтобы стать единичными точками отказа. Несомненно, я не сомневаюсь, что коммерческие поставщики предоставляют хеви-метал версию распределяемых, устойчивых кластеров MQ. Не имеют такого бюджета и не заинтересованы в блокировке поставщика. Я вроде бы хочу держаться подальше от больших коммерческих фреймворков, с открытым исходным кодом. –
ActiveMQ и RabbitMQ - две популярные очереди с открытым исходным кодом, которые поддерживают кластеризацию, так что вы не будете закрыты, если сервер, на котором размещена очередь, опускается. http://www.rabbitmq.com/ и http://activemq.apache.org/. Оба имеют API-интерфейсы Java. –