LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (101)
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (12)
    • RDBMS (19)
    • Spring Framework (12)
    • HTTP (9)
    • Spring Webflux (2)
    • Java (18)
    • System Design (12)
    • Spring Data JDBC (5)
    • Spring Security (5)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)
    • MSA (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

MSA

  • CQRS 패턴

    2025.12.29 by Wanderer Kim

  • Saga pattern

    2025.12.19 by Wanderer Kim

CQRS 패턴

CQRS란?“상태를 변경하는 책임(Command)과데이터를 조회하는 책임(Query)을서로 다른 모델로 분리하자.”핵심은 **분리(Segregation)**다.우리가 흔히 쓰는 CRUD 구조의 한계대부분의 Spring Boot 애플리케이션은 이런 구조로 시작한다.Controller → Service → Repository → Entity하나의 Entity, 하나의 Repository로 저장,수정,삭제,조회 모든 걸 처리한다.그런데 서비스가 커지면 문제가 생긴다① 조회가 압도적으로 많다읽기 80~90%쓰기 10~20%→ 조회 성능 튜닝이 전체 구조에 영향을 준다.② 조회 모델과 저장 모델이 다르다저장: 비즈니스 규칙, 상태 변경조회: 화면용 데이터, 조인, 통계→ 하나의 Entity로는 둘 다 ..

MSA 2025. 12. 29. 23:32

Saga pattern

Saga 패턴이 등장한 배경모놀리식 아키텍처에서는 하나의 데이터베이스 트랜잭션으로 모든 작업을 묶을 수 있다.@Transactionalpublic void placeOrder() { orderRepository.save(order); paymentRepository.pay(order); deliveryRepository.schedule(order);}하지만 마이크로서비스 아키텍처(MSA)에서는 상황이 완전히 달라진다.서비스마다 독립적인 DB네트워크 호출은 언제든 실패 가능@Transactional은 서비스 경계를 넘지 못함이때 전통적인 분산 트랜잭션(2PC, XA)은 성능·확장성·운영 측면에서 사실상 사용 불가하다.이 문제를 해결하기 위해 등장한 패턴이 Saga 패턴이다.Saga 패턴이란..

MSA 2025. 12. 19. 18:48

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바