페이지 3: 통신 및 통합

3. 통신 및 통합

마이크로서비스는 서로 통신하여 비즈니스 로직을 완성합니다. 효과적인 통신 및 통합 전략은 MSA의 성공에 매우 중요합니다.

3.1. 서비스 간 통신 패턴: 동기 vs. 비동기

// 비동기 통신 (메시지 큐 예시)
// Order Service:
//   send('order_placed_event', orderDetails);

// Notification Service:
//   listen('order_placed_event', (orderDetails) => {
//     sendEmail(orderDetails.customerEmail, 'Order Confirmation');
//   });

3.2. API 게이트웨이 (API Gateway)

API 게이트웨이는 모든 클라이언트 요청을 받는 단일 진입점입니다. 요청 라우팅, 인증/인가, 로깅, 속도 제한 등 다양한 기능을 제공하여 클라이언트와 마이크로서비스 간의 복잡성을 숨겨줍니다.

3.3. 서비스 디스커버리 (Service Discovery)

마이크로서비스는 동적으로 생성되고 제거될 수 있으므로, 클라이언트나 다른 서비스가 특정 서비스의 인스턴스 위치를 찾아야 합니다. 서비스 디스커버리는 이를 자동화하는 메커니즘입니다.