Каков наилучший стиль интеграции, учитывая большой объем транзакций и гарантированную доставку?
Учитывая, что компании с более чем 1000 точек продаж в стране необходимо отправлять продажи, зарегистрированные в вашем магазине, в ваш центр продаж пару раз в течение дня.
Какова лучшая стратегия интеграции для обеспечения доставки? Используйте очередь JMS в каждой точке продаж, которая будет использоваться Midleware. Отправлять xml-сообщения в Midleware и ждать обратного звонка, чтобы убедиться в получении, или отправлять продажи через файлы?
1 ответ
Для отправки пару раз в день (речь идет о большом объеме, но низкой скорости), вы можете использовать файлы. Ссылки и подтверждения обработки могут быть отправлены, например, JMS или HTTP. С точки зрения гарантированной доставки, вам необходимо кодировать это с подтверждениями на уровне приложения. Кроме того, для передачи файлов вы можете использовать некоторые фреймворки, такие как StreamSets или Nifi. Они предназначены для разных видов входных протоколов и очень гибки.
Пару раз за день не особо много. В будущем вам, безусловно, захочется, чтобы он работал в режиме реального времени для каждой транзакции, поэтому вам придется перепроектировать свою систему. Все зависит от того, что эти данные для вас означают. Скорее всего, JMS будет хорошо в этом случае. 1000 торговых точек означает, что у вас будет примерно 1000 транзакций в минуту, я полагаю. Это может быть выполнено без проблем с сегодняшним оборудованием comodity и хорошо известными администраторами очередей JMS, например, MQ или ActiveMQ и т. Д.
Я вижу, вы прикрепили некоторые теги, такие как "ESB". ESB, если он у вас есть, может использоваться для управляющих сообщений (в случае, если у вас есть сообщение JMS о том, что в определенном месте доступны некоторые новые данные или подтверждение обработки). Я бы не использовал ESB для передачи больших файлов, которые у вас будут. Если вы действительно хотите перенести все данные в "интеллектуальное" промежуточное ПО, такое как ESB (не только администратор очередей), то вы можете посмотреть на составы некоторого промежуточного ПО, ориентированного на большие данные, например, проверить, как это делает Hortonworks HDF, или см. вышеупомянутые SteamSets.