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