4개의 글
서킷 브레이커 패턴은 원격 서비스나 리소스에 연결할 때 복구에 다양한 시간이 걸리는 장애를 처리하는 안정성 패턴이다. 장애를 감지한 후 결함이 있는 서비스에 대한 접근을 일시적으로 차단함으로써, 반복적인 실패 시도를 방지하고 시스템이 효과적으로 복구될 수 있도록 한다.
이벤트 소싱 패턴은 객체의 현재 상태만 저장하는 대신, 객체에 수행된 전체 행위 시퀀스를 추가 전용 저장소에 기록하는 접근 방식이다. 복잡한 시스템에서 성능, 확장성, 감사 가능성을 향상시킬 수 있다.
CQRS(Command Query Responsibility Segregation)는 데이터 저장소에 대한 읽기와 쓰기 작업을 별도의 데이터 모델로 분리하는 디자인 패턴이다. 각 모델을 독립적으로 최적화할 수 있어 애플리케이션의 성능, 확장성, 보안을 향상시킬 수 있다.
Saga 디자인 패턴은 분산 시스템에서 여러 서비스에 걸친 트랜잭션을 조율하여 데이터 일관성을 유지하는 패턴이다. 트랜잭션을 일련의 로컬 트랜잭션으로 분해하고, 실패 시 보상 트랜잭션을 통해 롤백하는 방식을 제공한다. 구현 방식으로는 코레오그래피와 오케스트레이션 두 가지 접근법이 있다.