Почему люди используют обмен сообщениями, когда вы можете использовать файлы и пакетный инструмент?

У нас есть 2 компонента Java в памяти (сетка данных и куб olap).

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

Другой вариант, который у нас есть, - когда сетка данных завершает загрузку или применяет обновление, она отправляет сообщение в очередь. Затем куб olap прочитает это сообщение и вызовет службу в сетке данных для извлечения данных. Я категорически против этого варианта, поскольку он не основан на файлах, что означает, что команде поддержки будет трудно понять его.

Итак, вопрос в том, почему мы должны использовать обмен сообщениями?

1 ответ

Потому что, если вы пишете свои собственные файлы транзакций, вам нужно беспокоиться о:

  • записана ли транзакция в файл
  • был ли файл передан правильно, полностью или действительно вообще.
  • был ли файл прочитан полностью, и если нет, то где вы были, когда вы перестали читать

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

Системы обмена сообщениями делают все это за вас.

Другие вопросы по тегам