2016-12-26 26 views
-1

Учитывая, что компания с более чем 1000 точками продаж в стране должна отправлять продажи, зарегистрированные в вашем магазине, в ваш торговый центр пару раз в течение дня.Каков наилучший стиль интеграции, учитывая большой объем транзакций и гарантированную доставку?

Какая наилучшая интеграционная стратегия для обеспечения доставки? Используйте JMS-очередь в каждой точке продажи, которую нужно использовать Midleware. Отправьте xml-сообщения в Midleware и дождитесь возврата, чтобы обеспечить получение или отправить продажи через файлы?

+1

Это слишком широкий. Stackoverflow предназначен для определенных проблем программирования, а не для планирования для вас. https://stackoverflow.com/help/how-to-ask – Robert

ответ

0

Для отправки пару раз в день (речь идет о большой громкости, но низкой скорости), вы можете использовать файлы. Например, ссылки и подтверждения обработки могут быть отправлены JMS или HTTP. Что касается гарантированной доставки, вам необходимо закодировать это с подтверждением на уровне приложения. Кроме того, для передачи файлов вы можете использовать некоторые фреймворки, такие как StreamSets или Nifi. Они разработаны для разных типов входных протоколов и очень гибки.

Пару раз в течение дня на самом деле не очень много. В будущем вы определенно захотите, чтобы он работал в режиме реального времени на основе транзакций, поэтому вам нужно будет перепроектировать вашу систему. Все зависит от того, что эти данные, которые вы отправляете, означает для вас. Скорее всего, JMS в этом случае прекрасно справится. 1000 пунктов продажи означает, что вы будете иметь примерно 1000 транзакций в минуту, я полагаю. Это может быть устранено без проблем с сегодняшним оборудованием аппаратного обеспечения и известными менеджерами очереди JMS, например MQ или ActiveMQ и т. Д.

Я вижу, что вы прикрепили некоторые теги, такие как «esb». ESB, если он у вас есть, может использоваться для управляющих сообщений (в случае, если у вас есть сообщение JMS о том, что некоторые новые данные доступны в определенном месте или подтверждение обработки). Я бы не использовал ESB для передачи больших файлов, которые у вас есть. Если вы действительно хотите перенести все данные в «интеллектуальное» промежуточное программное обеспечение, такое как ESB (не только менеджер очереди), тогда вы можете посмотреть на композиции некоторых промежуточных программ, ориентированных на большие данные, например, проверить, как это делает Hortonworks HDF, или см. вышеупомянутые SteamSets.