목록MSA (5)
kjp0411 님의 블로그
1. 문제 상황MSA 환경에서는 하나의 비즈니스 로직이 여러 서비스에 걸쳐 실행됩니다.예를 들어, 주문(Order) 기능을 수행할 때 다음과 같은 흐름이 발생할 수 있습니다.Order Service → 주문 생성Payment Service → 결제 처리Delivery Service → 배송 생성이 과정에서 하나의 요청이 여러 서비스의 데이터 변경을 포함하게 됩니다. 2. 문제의 핵심이때 가장 큰 문제는 모든 작업이 하나의 트랜잭션으로 묶이지 않는다는 것입니다.주문은 성공했지만결제는 실패하고배송은 생성되지 않는데이터 불일치(Inconsistency) 문제가 발생할 수 있습니다. 3. 왜 이런 문제가 발생하는가?Monolithic vs MSAMonolithic하나의 DB하나의 트랜잭션ACID 보장 가능 MS..
1. 문제 상황 복습 (SPOF와 장애 전파)이전 글에서 살펴본 것처럼 MSA 환경에서는 서비스 간 호출이 필수적이며,특히 동기 호출 구조에서는 특정 서비스의 장애가 다른 서비스로 전파되는 문제가 발생할 수 있습니다.예를 들어, Hub Service가 장애를 일으킬 경우 이를 호출하는 Order Service가 정상적인 응답을 받지 못하게 되고,결과적으로 Gateway까지 타임아웃이 발생하며 최종적으로 Client 요청 실패로 이어집니다.이러한 구조는 하나의 장애가 전체 시스템 장애로 확산되는 Cascade Failure를 유발하게 됩니다. 2. Resilience(회복성)란?Resilience란 장애 상황에서도 서비스가 완전히 중단되지 않고,일정 수준의 기능을 유지하며 안정적으로 동작할 수 있도록 하는..
MSA 환경에서는 서비스 간 호출이 필수적이며, 특히 동기 호출 구조를 사용할 경우 특정 서비스의 장애가 다른 서비스로 전파되는 문제가 발생할 수 있습니다. 예를 들어, Hub 서비스가 장애를 일으킬 경우 해당 서비스를 호출하는 주문(Order) 또는 배송(Delivery) 서비스까지 영향을 받아 전체 서비스 장애로 확산될 수 있습니다. 이처럼 하나의 장애가 연쇄적으로 전파되는 구조는 장애 전파(Cascade Failure)를 유발하며,MSA의 핵심 장점인 "장애 격리"를 제대로 활용하지 못한 사례입니다. 이러한 문제의 대표적인 원인이 바로 SPOF(Single Point Of Failure)입니다.SPOF(Single Point Of Failure)란? SPOF는 시스템 내에서 단 하나의 구성 요소 장..
