2013-03-16 2 views
0

Мне нужно разработать платформу Java для загрузки и обработки информации из Twitter. Основная идея состоит в том, чтобы иметь централизованный контроллер для создания задач (в основном, id и ключевых слов) и отправлять задания удаленным сотрудникам (по одному на компьютер). Мне нужно периодически получать отчет о статусе, чтобы узнать о статусе как задачи, так и рабочего. У меня будет как минимум 60 рабочих (в ближайшем будущем - в десять раз).Разделить процесс рабочего процесса между удаленными сотрудниками

Моя первоначальная идея заключалась в использовании RMI, но мне нужно общаться в обоих направлениях, и я не чувствую себя комфортно с RMI. Другой подход состоял в том, чтобы использовать SSLSockets для отправки сериализованных объектов, но мне пришлось бы контролировать множество ошибок и добавлять много кода для мониторинга задач и рабочих. Некоторые люди говорили мне об использовании фрейма, например, Spring Batch, Gigaspaces или Quartz.

Как вы думаете, что было бы лучшим вариантом для этого проекта? К тому времени я прочитал много хороших вещей о Gigaspaces, но я не нашел хорошего учебника о том, как его реализовать, и Quartz кажется многообещающим. Как вы думаете? Стоит ли использовать любой из них?

ответ

0

Непросто сказать, что вы хотите использовать технологию, основанную на вашем вопросе. GigaSpaces, безусловно, подходит для работы, но также Spring Batch. Кварц - это всего лишь часть вашего вопроса, а не столько перемещение и распределение рабочей нагрузки.

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

Однако GigaSpaces является коммерческим продуктом (имеется бесплатная версия), но есть и другие рамки, которые могут вам помочь, такие как Storm Project (http://storm-project.net/) и Hazelcast (www.hazelcast.com) также приходят на ум.

Таким образом, без пояснения вашего варианта использования трудно дать один ответ. Все зависит от того, что именно вы хотите и как вы хотите использовать это сейчас и в будущем.

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