728x90
반응형
SMALL
미들웨어의 정의
- 애플리케이션과 운영체제/네트워크/데이터 사이에서 통신·연동·운영 공통 기능(메시징, 트랜잭션, 보안, 로깅 등)을 제공하는 중간 계층 소프트웨어.
→ 목적: 재사용/표준화/확장성/운영 편의성 확보.
미들웨어의 종류 요약
1) RPC (Remote Procedure Call, 원격 프로시저 호출)
- 역할: 다른 프로세스/서버의 함수를 로컬처럼 호출하게 추상화.
- 핵심: 인터페이스 정의(IDL)·스텁/스켈레톤·직렬화.
- 프로토콜/포맷: gRPC(HTTP/2+ProtoBuf), Thrift, JSON-RPC.
- 예시: gRPC, Apache Thrift, Dubbo, Finagle.
2) MOM (Message-Oriented Middleware, 메시지 지향)
- 역할: 비동기 메시지 큐/퍼브섭로 서비스 간 결합도↓·내결함성↑.
- 패턴: Queue/Topic, 재시도(Dead-Letter), 백프레셔.
- 예시: Kafka, RabbitMQ, NATS, AWS SQS/SNS, Azure Service Bus, GCP Pub/Sub.
3) ORB (Object Request Broker)
- 역할: 분산 객체 호출을 중개(CORBA), 위치·언어 투명성 제공.
- 프로토콜: IIOP, 데이터 CDR.
- 예시: TAO, JacORB, VisiBroker, Orbix. (주로 레거시)
4) DB 접속 미들웨어
- 역할: 데이터베이스 연결/풀링/트랜잭션/드라이버 추상화.
- 형태: 드라이버(JDBC/ODBC), 커넥션 풀(HikariCP), ORM/데이터 액세스 레이어.
- 예시: JDBC/ODBC, HikariCP, Hibernate, MyBatis, Spring Data.
5) TP 모니터 (Transaction Processing Monitor)
- 역할: 대량 트랜잭션 애플리케이션의 동시성/부하분산/2PC 관리.
- 특징: 트랜잭션 컨텍스트, 자원관리자(RM) 조정.
- 예시: Tuxedo, CICS, Encina, OpenTP1.
6) WAS (Web Application Server)
- 역할: HTTP 요청을 받아 서버사이드 앱 실행(세션, 보안, 트랜잭션, 풀링).
- 예시: Tomcat, Jetty, WildFly/JBoss, WebLogic, WebSphere, Spring Boot(내장).
7) ESB (Enterprise Service Bus)
- 역할: 이기종 시스템 간 라우팅·변환·오케스트레이션 표준화.
- 패턴: 메시지 변환, 콘텐츠 기반 라우팅, 프로토콜 브리징.
- 예시: Mule ESB(MuleSoft), WSO2, TIBCO, Apache Camel(경량), Boomi, Azure Logic Apps.
728x90
반응형
LIST