https://www.youtube.com/watch?v=9PsBxz28PIo
스프링캠프의 영상을 보고 정리한 글입니다.
개발자는 통신기법을 알아야한다.
프로그램 간에 빠르고 신뢰할 수 있는 통신을 비동기 방식으로 가능케 하는 전송 기술
EIP 패턴화도 진행되었음
기업 통합 패턴(Enterprise Integration Patterns)
Apache Camel 도 패턴중 하나임
패턴에서는 Apache Camel
과 Spring Integration
이 존재
Spring Integration
의 장점XML/ JAVA DSL을 이용한 간편한 Infrastructure 구축
Spring Framework의 IOC, DI 사용
다양한 통신 기술에 대한 어뎁터, Infrastructure 제공
비동기 통신, 비접속 작업으 FAILOVER같은 메시지 통신기업이 스프링 프레임워크에 집약되어 있다.
요구사항에 맞게 쉽게 사용할 수 있다.
퍼포먼스는?
내부적으로는 REST TEMPLATE 기반으로 통신되기 때문에 REST TEMPLATE 의 성능에 의존된다.
Message
전송할 데이터가 담긴 래퍼 클래스
Message Channel
메시지 오브젝트를 발신 / 수신하기 위한 창구
Message Endpoints
메시지 오브젝트를 발신 / 수신하는 목적지
비즈니스 로직과 엔드포인트 사이에서 메시지를 보내거나 받는 통로 역할
메시지 채널을 통해 메시지 송수신 등과 같은 처리를 돕는 모듈
예제
https://github.com/icednut/SpringCamp2015_Simple_Integration_Exercise
spring에서의 대용량 처리 사례(https://www.slideshare.net/pidster/asynchronouse-design-with-spring-and-rti-1m-events-per-second)