Почему люди используют обмен сообщениями, когда вы можете использовать файлы и пакетный инструмент?
У нас есть 2 компонента Java в памяти (сетка данных и куб olap).
В настоящее время мы используем инструмент пакетной обработки для загрузки сетки данных и динамически создаем пакетные задания, когда пользователи хотят обновлять данные. Я думаю, что мы должны расширить наш пакетный инструмент, чтобы он также взял на себя ответственность за загрузку данных в куб olap. С точки зрения передачи данных, сетка данных должна записать файл, скопировать его на сервер, на котором работает куб olap, а затем куб olap должен прочитать этот файл.
Другой вариант, который у нас есть, - когда сетка данных завершает загрузку или применяет обновление, она отправляет сообщение в очередь. Затем куб olap прочитает это сообщение и вызовет службу в сетке данных для извлечения данных. Я категорически против этого варианта, поскольку он не основан на файлах, что означает, что команде поддержки будет трудно понять его.
Итак, вопрос в том, почему мы должны использовать обмен сообщениями?
1 ответ
Потому что, если вы пишете свои собственные файлы транзакций, вам нужно беспокоиться о:
- записана ли транзакция в файл
- был ли файл передан правильно, полностью или действительно вообще.
- был ли файл прочитан полностью, и если нет, то где вы были, когда вы перестали читать
а также всевозможные вопросы надежности, касающиеся реальных СМИ.
Системы обмена сообщениями делают все это за вас.