Learning
토픽 191 / 192·시스템 설계 및 아키텍처 패턴

미들웨어 (Middleware)

미들웨어 (Middleware)

분산 환경에서 클라이언트와 서버, 또는 서버 간 통신을 중재하고 공통 서비스를 제공하는 소프트웨어 계층

특징: 투명성, 표준 인터페이스, 플랫폼 독립, 재사용성

미들웨어 유형

  • WAS(Web Application Server): 웹 앱 실행 환경, 세션/트랜잭션 관리 (Tomcat, WebLogic, Jeus)
  • TP 모니터(Transaction Processing Monitor): 분산 트랜잭션/ACID, 2PC/XA (Tuxedo, CICS, Tmax)
  • MOM(Message-Oriented Middleware): 메시지 큐 비동기 통신, 느슨한 결합 (IBM MQ, RabbitMQ, Kafka)
  • RPC(Remote Procedure Call): 원격 프로시저 로컬 호출, 스텁/스켈레톤 (gRPC, Java RMI)
  • ORB(Object Request Broker): 분산 객체 통신, IDL 인터페이스 정의 (CORBA, DCOM)
  • ESB(Enterprise Service Bus): SOA 기반 라우팅/변환/중재 (MuleSoft, WSO2)
  • API Gateway: API 관리/인증/속도제한, MSA에서 ESB 대체 (Kong, AWS API GW)

선택 기준: WAS(웹앱/동기) → TP모니터(트랜잭션/동기) → MOM(이벤트/비동기) → RPC(내부통신/동기) → ESB(SOA/혼합) → API GW(MSA/동기)

적용사례: 금융(TP모니터), 이커머스(WAS), IoT(MOM), MSA(API GW)

비교: WAS(웹 앱) vs TP모니터(트랜잭션) vs MOM(비동기) vs ESB(통합) vs API GW(MSA)

연관: SOA, MSA, 분산 시스템, 트랜잭션, 메시지 큐