Я нахожусь в процессе изучения ActiveMQ и Camel с целью создать небольшую прототипную систему, которая работает примерно так:
(источник: paulstovell.com)
Когда заказ размещается в системе заказов, сообщение отправляется любым подписчикам (паб/подсистема), и они могут сыграть свою роль в обработке заказа. Приложения "Заказы", "Доставка" и "Выставление счетов" имеют свои собственные установки ActiveMQ, поэтому, если любая из трех систем находится в автономном режиме, остальные могут продолжать работать. Что-то заботится о перемещении сообщений между установками ActiveMQ.
Получить Apache Camel для перемещения сообщений из одной очереди в другую по маршрутам довольно просто, если они находятся в одном экземпляре ActiveMQ. Так что это работает для управления очередями подписки.
Следующая проблема - это отправка сообщений из одного экземпляра ActiveMQ в другой, и я не уверен, что смотреть дальше.
- Может ли Camel прокладывать маршрут между различными установками ActiveMQ? (Я не могу понять, каким будет URI конечной точки JMI, если они находятся на разных машинах).
- Я понимаю, что ActiveMQ имеет возможности хранения и пересылки. Это то, что я бы использовал для перемещения сообщений между заказами и отправкой/выставлением счетов?
- Или это то, что Apache ServiceMix предназначен для решения?