Как использовать Apache Camel в кластерной среде с Zookeeper и ActiveMQ - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть 3 сервера (1 ведущий, 2 ведомых).На каждом из них установлены Zookeeper (последняя версия) и ActiveMQ (последняя версия, но не Artemis).ActiveMQ настроен как Replicated Level-DB на основе узлов Zookeepers.

Теперь я хочу использовать Apache Camel для маршрутизации сообщений.

Где должен находиться Camel Route?Я написал Spring Boot App , но я хочу иметь отказоустойчивость, подобную ActiveMQ.

Так что я прочитал о том, чтобы поместить jar в каталог lib ActiveMQ и настроить XML-конфигурацию Корпоративные интеграционные шаблоны

Другой способ - использовать компоненты Camel

Кто-нибудь когда-нибудь сталкивался с этой проблемой раньше и хотел бы поделиться решением?

1 Ответ

1 голос
/ 27 сентября 2019

Э-э, как уже упоминалось в комментариях, позаботьтесь о вещи DB уровня , поскольку она устарела .Используйте его, только если вы тщательно его проверили!В наших тестах он работал довольно хорошо.Но когда уровень БД по какой-либо причине был поврежден, данные были потеряны. Нам так и не удалось восстановить DB уровня .Не очень хорошо для производства.

И даже не думайте о решениях на основе NFS .NFS действительно не подходит для этого, у нас было много проблем в наших тестах.Нам часто удавалось, например, иметь несколько мастеров или вообще не иметь мастеров.Итак, мы бросили это.

В конце мы используем простой одиночный брокер , поскольку сложность решения проблем в установках master / slave или репликации может быть довольно высокой.И у нас почти никогда не было никаких незапланированных простоев, несмотря на нашу «единственную точку отказа».

Однако группа людей сказала мне, что сеть брокеров работает достаточно хорошо, чтобы иметь избыточную установку.По крайней мере, один из них говорил о действительно большой среде.

Ну, это не совсем ответ на ваш вопрос , не так ли?

Вы можетеположить верблюжьих маршрутов рядом с конфигурацией XML брокера , после чего эти маршруты выполняются внутри процесса ActiveMQ. Смотрите здесь пример .

Если вы хотите создать приложение SpringBoot для запуска Broker, вам просто нужно сделать доступным контекст Camel в Spring , и его нужно выбрать.

...