MSA 3

[Cloud] 마이크로서비스 아키텍처(MSA)란?

이번 주제는 MSA 아키텍처이다.MSA에 대해 제대로 공부해보며, 과거에 MSA구조로 진행했었던 프로젝트에 많은 부족함이 있었다는 걸 알게되었다.이번에는 MSA나 Monolitic 구조의 차이와 기본적인 개념 보다,MSA의 개발원칙과 CRUD와 MSA의 관계성에 대해서 알아보려고한다. MSA 개발 원칙( 12 Factors ) 1. 코드 베이스 버전 관리가 가능한 하나의 코드베이스와 이를 통한 다양한 배포버전관리는 개발과 운영이 동일해야한다Cloud Native인 경우 엄청나게 많은 Pod가 존재하기 때문에 이전의 버전을 확인하기 어렵기 때문에 버전 관리 필수정리: Git과 같은 버전 관리 시스템을 이용해 관리해야한다는 의미이다. 2. 종속성 명시적으로 선언되고 분리 된 종속성항상 재현이 가능한 빌..

Cloud 2026.01.07

[디자인 패턴] 서킷 브레이커(Circuit Breaker)란?

서킷 브레이커는 MSA 아키텍처를 공부하다보면 자연스럽게 만나게 되는 디자인 패턴이다.예를 들어, 쇼핑몰에서 결제 시스템에 장애가 발생하여 응답이 지연되고, 사용자에게는 무한 로딩이 걸리는 상황이 있다고 하자.쇼핑몰 서버에는 이런 요청들이 쌓여 결국 쇼핑몰 앱 전체 서버가 마비 되어, 구경하던 다른 사용자들도 앱이 튀기는 문제가 발생하게 된다. 이렇게 한 서비스의 장애가 서비스 전체로 장애가 전파되는데 이런 문제를 방지하는 패턴이 바로 서킷 브레이커라고 한다. 서킷 브레이커 (장애 전파)서킷브레이커(Circuit Breaker)란?특정 서비스 호출이 계속 실패할 때, 일시적으로 호출을 차단해서 장애가 다른 서비스로 번지는 것(연쇄 장애)를 막는 패턴왜 필요한가?MSA는 서비스가 서로 호출하는 구조라 하..

카테고리 없음 2026.01.07

[디자인 패턴] SAGA 패턴이란?

SAGA 패턴이란?분산 트랜잭션을 우아하게 처리하는 방법을 말한다.MSA 아키텍처가 보편화 되면서, 여러 서비스에 걸친 트랙잭션을 어떻게 처리할 것인가?에 대한 해답 중 하나이다. 목차 1. 분산 환경에서의 트랜잭션 문제2. 기존 해결책: 2PC (Two-Phase Commit)3. SAGA 패턴 등장 배경4. SAGA 패턴이란?5. SAGA의 핵심 개념 (보상 트랜잭션)6. SAGA 구현 방식 6-1. Choreography 방식 6-2. Orchestration 방식7. 간단한 예제로 이해하는 SAGA8. SAGA 패턴의 장점과 단점9. 언제 SAGA 패턴을 써야 할까?10. 정리 1. 분산 환경에서의 트랜잭션 문제. MSA 환경에서는 일반적인 트랜잭션이 어렵습니다.주문 / 결제 / 배송 서비..

카테고리 없음 2026.01.06