Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[MSAP.ai] Understanding MSA Methodology Through...

[MSAP.ai] Understanding MSA Methodology Through Patterns(패턴으로 알아보는 MSA 방법론)

MSA에 적용되는 패턴이 데이터 일관성 유지, 서비스 간 통신, 공통 기능 처리, 시스템 관리, 애플리케이션 회복력, 읽기/쓰기 성능 및 확장성 등의 문제 해결에 어떻게 기여하는지 설명합니다.
This article explains how patterns applied to MSA help address challenges such as maintaining data consistency, enabling communication between services, handling common functionalities, managing the system, improving application resilience, and optimizing read/write performance and scalability.

📎자료 바로보기 URL: https://www.msap.ai/resource/presentation/msa-patterns/

Avatar for MSAP.ai

MSAP.ai

July 03, 2025

Resources

Understanding MSA Methodology Through Patterns

https://www.msap.ai/resource/presentation/msa-patterns/

This article explains how patterns applied to MSA help address challenges such as maintaining data consistency, enabling communication between services, handling common functionalities, managing the system, improving application resilience, and optimizing read/write performance and scalability.

More Decks by MSAP.ai

Other Decks in Technology

Transcript

  1. MSA에 적용되는 패턴들 Copyright 2025 MSAP.ai All right reserved. 2

    데이터 일관성을 유지하는 방법이 있나요? 서비스간 통신을 위한 방법에는 어떤 것들이 있나요? 공통적인 기능들은 어떻게 처리하나요? 많은 수의 서비스는 시스템내에서 어떻게 관리 되나요? 애플리케이션 회복력 Resilience 는 어떻게 관리되나요? SAGA 패턴 동기식 RPI 및 비동기식 Queue 패턴 API Gateway 패턴 Service Discovery 패턴, Service Mesh 패턴 Circuit Breaker 패턴 읽기와 쓰기 성능과 확장성은 어떻게 구현하나요? CQRS 패턴, Event Sourcing 패턴
  2. SAGA 패턴 Copyright 2025 MSAP.ai All right reserved. 3 •

    2개 이상의 서비스에서 발생되는 트랜잭션을 관리하는 패턴 Monolithic 애플리케이션 Monolithic 에서는 트랜잭션을 DB에서 처리하고 관리하여 데이터 일관성을 보장 마이크로서비스 애플리케이션 서비스 레이어에서 트랜잭션을 관리하여 데이터 일관성을 보장해야 함. Monolithic 쇼핑몰 시스템 도서 쇼핑몰 애플리케이션 쇼핑몰 접속 주문 결제 주문 완료 트랜잭션 1 마이크로 서비스 쇼핑몰 시스템 도서 쇼핑몰 애플리케이션 주문 서비스 결제 서비스 쇼핑몰 접속 주문 완료 주문 트랜잭션 1 결제 트랜잭션 2 도서 쇼핑몰 DB
  3. SAGA 패턴 Copyright 2025 MSAP.ai All right reserved. 4 •

    분산 트랜잭션의 문제점 고객 측면 § 결제를 두 번 이상 진행할 수 있음. § 결제 취소가 되지 않는 상태 § 결제 성공 후 잔액 차감이 안되는 문제 § 결제 취소 후 환불이 되지 않는 문제 § 결제 취소 후 상품이 배송되는 문제 서비스 측면 § 여러 번의 결제 요청이 전달되어 중복 결제되는 문제 § 결제 실패 또는 성공 데이터가 존재하지 않는 문제 § 결제 취소 요청이 성공 요청보다 먼저 전달되어 시간적 이슈 발생 § 결제 성공, 실패에 대해 알 수 없는 상태 존재 가능 서비스의 장애로 인한 데이터 정합성 문제 발생 가능성 존재
  4. SAGA 패턴 Copyright 2025 MSAP.ai All right reserved. 5 •

    분산 트랜잭션 처리 주문 API 주문 서비스 상품 서비스 주문 DB 상품 DB Local Transaction Local Transaction SAGA 주문 롤백 고객 결제 서비스 결제 DB Local Transaction 결제 실패 이벤트 상품 개수 롤백 상품 정보 요청 결제 요청 결제 실패 이벤트 특정 서비스 작업 실패 시 이미 처리된 서비스에 보상 이벤트 발행하여 데이터 일관성을 보장
  5. SAGA 패턴 Copyright 2025 MSAP.ai All right reserved. 6 •

    분산 트랜잭션 종류 Aggregate Order Order Service 결제 서비스 P S Order 이벤트 채널 Payment 이벤트 채널 1 2 4 5 01. Order 02. Order 이벤트 발행 03. Payment 로직 수행 04. Payment 결과 이벤트 발행 05. Payment 결과로 주문 성공/실패 처리 Choreography Aggregate Payment 3 S P Payment Service 결제 서비스 P S Command Channel Reply Channel 01. Order 02. Order 요청 대기 Pending 상태 03. Payment 요청 04. Payment 처리 05. Payment 결과 Orchestrator Order SAGA 생성 Aggregate Order Message Broker Command Handler Payment Service Aggregate Payment 06. Order 성공/실패 처리 1 2 3 4 5 6 Order Service Payment Service P S Publisher Subscriber