카테고리 없음

ESB(Enterprise Service Bus) 2504

mezzanineX 2025. 4. 23. 11:51

q1: ESB(Enterprise Service Bus)

a1:

ESB(Enterprise Service Bus)란?

ESB는 Enterprise Service Bus의 약자로, 기업 내·외부의 다양한 시스템을 느슨하게(loose-coupled) 연계하고 메시지를 중앙에서 관리·중계해 주는 미들웨어 통합 플랫폼입니다.



1. 핵심 개념
버스(Bus) 모델: 컴퓨터 내부의 버스처럼, 여러 애플리케이션이 ESB라는 “버스”에 연결되어 통신
서비스 지향 아키텍처(SOA) 지원: 서비스 단위로 인터페이스를 정의하고, 재사용 가능한 서비스로 관리
미들웨어 역할: 시스템 간의 직접 연결(point-to-point)이 아닌 ESB를 통한 간접 연결로 복잡도를 줄임



2. 주요 기능

메시지 라우팅
- 콘텐츠 기반 라우팅, 조건문·룰(rule) 기반 메시지 전달

프로토콜 변환
- HTTP↔JMS, SOAP↔REST, FTP, JDBC 등 이기종 프로토콜 상호 변환 지원

데이터 변환(매핑)
- XML↔JSON, CSV↔XML, 커스텀 포맷 간 변환과 필드 매핑

서비스 오케스트레이션
- 복수 서비스 호출 순서·트랜잭션 관리, 워크플로우 정의

보안·인증·암호화
- SSL/TLS, OAuth, WS-Security, SAML 등 표준 보안 프로파일 적용

모니터링·관리
- 메시지 흐름 추적(트래싱), 성능·장애 모니터링, 재시도·DLQ(사망 큐) 지원



3. ESB 아키텍처 구성 요소
1. 메시지 버스
메시지 브로커 또는 경량 메시징 시스템(JMS, AMQP 등)을 기반으로 구현
2. 커넥터(어댑터)
ERP, CRM, 레거시 DB, 파일 시스템 등 다양한 엔드포인트와 통신하기 위한 플러그인
3. 통합 레지스트리/레포지토리
서비스 메타데이터·WSDL·XSD·변환 맵 등 중앙 저장소
4. 오케스트레이션 엔진
BPEL, BPMN 같은 워크플로우 언어로 프로세스를 정의·실행
5. 관리·모니터링 콘솔
실시간 모니터링, 장애·성능 알람, 메시지 재처리 기능 제공



4. 장점 vs. 단점

유연성
- 새로운 시스템 추가 시 포인트-투-포인트 연결 불필요, 커넥터만 추가
- 구축 초기 설계·설정 복잡도가 높음

확장성
- 수평적 확장 가능, 메시지 기반이므로 부하 분산·클러스터링 용이
- 고성능이 필요한 초저지연 애플리케이션엔 부적합할 수도 있음

관리성
- 중앙화된 모니터링·관리가 가능, 장애·트랜잭션 추적 용이
- 미들웨어 자체가 장애 시 전체 연계 흐름이 중단될 위험

반응형