Apache Camel - Архитектура
Архитектура Camel состоит из трех компонентов - механизма интеграции и маршрутизатора, процессоров и компонентов. Это показано на следующем рисунке -
Само ядро Camel очень маленькое и содержит 13 основных компонентов. Остальные 80+ компонентов находятся вне ядра. Это помогает поддерживать низкую зависимость от места развертывания и способствует продвижению расширений в будущем. ВComponents модуль обеспечивает Endpointинтерфейс с внешним миром. Конечные точки указываются URI, напримерfile:/order и jms:orderQueue что вы видели в предыдущей главе.
В Processorsмодуль используется для управления и передачи сообщений между конечными точками. EIP, о которых я упоминал ранее, реализованы в этом модуле. В настоящее время он поддерживает более 40 шаблонов, как описано в книге EIP и других полезных процессорах.
В Processors и Endpoints связаны вместе в Integration Engine and Routerмодуль с использованием DSL. При их подключении вы можете использовать фильтры для фильтрации сообщений на основе заданных пользователем критериев. Как упоминалось ранее, у вас есть несколько вариантов написания этих правил. Для этого вы можете использовать Java, Scala, Groovy или даже XML.
Теперь мы подошли к самому важному компоненту Camel, который можно рассматривать как ядро - CamelContext.