У меня есть вопрос по поводу отработки отказа на сервере приложений JBoss (5.1), на котором работает JBoss ESB 4.9. Начну с диаграммы:
У нас есть устаревшее приложение («Legacy Producer»), которое генерирует данные об устаревшем транспорте («Legacy Transport»). Мы написали службу ESB («шлюз»), которая прослушивает устаревший транспорт и помещает полученные сообщения в ESB. Затем сообщения следуют нескольким шагам оркестровки, которые нужно обработать.
Это работает правильно с одним запущенным сервером приложений. Однако мы хотим разрешить сбой сервера приложений. Таким образом, наивным решением является установка двух таких серверов приложений (как показано) в кластерной конфигурации. Однако, поскольку это приведет к репликации служб шлюза, в результате будут опубликованы и обработаны две копии каждого сообщения на ESB, что является нежелательным результатом.
Как правильно реализовать этот тип аварийного переключения?