[Apache Camel] Feature
Camel Feature
통합 연계 라우팅 엔진
. Camel은 메시지 라우팅 연계 엔진
. 다양한 프로토콜, 메시지를 통합하여 일관된 인터페이스로 처리 가능
. 기본적으로 Sender로부터 메시지를 받아 Receiver에 전달하는 역할
+ 위와 같이 복잡한 환경을 통합하기 위한 여러 기능을 제공
1) 메시지 포맷 변환 (Format Translation) : ftp → http / jms → json
2) 메시지 콘텐츠에 따른 필터링 (Filtering, User-Defined)
3) 라우팅 규칙 정의 (Routing Rules) : Sender A → Receiver B,C / Sender B → Receiver A, C
. Maintainalbe & Scalable
1) 송/수신측 메시지 형식에 관계없이 동일한 API를 사용하기 때문에 Sender/Receiver의 변화에 유연함
2) 새로운 Sender/Receiver 추가가 용이
Lightwight Core 라이브러리 모듈
. camel core 모듈은 4M 정도의 라이브러리 형태로 가벼움
. 다양한 컨테이너에 포함되어 구동될 수 있고 마이크로 서비스 형태의 서비스가 가능함
EIP (Enterprise Integration Patterns) 구현
. Gregor Hohpe와 Bobby Woolf가 시스템 통합의 문제 해결을 위한 유사한 해법들을 패턴으로 정리한 것
. 기업 연계 패턴을 분석하여 패턴화 시킨 것 → 메시지 변환, 라우팅, 로그 추적을 위한 글로벌 트랜잭션, 장애시 재처리 등 시스템 연동 등
. Camel을 통해 EIP 패턴에 기반한 다양한 연계 유형을 조립하여 구성할 수 있음
https://camel.apache.org/components/3.15.x/eips/enterprise-integration-patterns.html
DSL (Domain Specific Language) 지원
. 메시지 라우팅 및 메시지 프로세싱을 다양한 언어로 기술할 수 있도록 함
. Java, XML, Groovy, Scalar, Kotlin 등 다양한 언어 지원
다양한 연계 컴포넌트(150+), 메시지 변환 프로세서 제공
. 다양한 연계 컴포넌트, 메시지 변환 프로세스가 제작되어 포함되어 있음
. 필요 시 사용자 컴포넌트를 제작하여 함께 구동시킬 수 있음