패턴 2

사가(Saga) 패턴이란?

사가(Saga) 패턴은 분산 시스템에서 데이터 일관성을 유지하기 위해 사용되는 트랜잭션 관리 패턴입니다. 일반적인 트랜잭션(ACID 트랜잭션)과 달리, 사가는 여러 개의 서비스 또는 데이터베이스에 걸쳐 있는 긴 작업을 **작은 단위의 트랜잭션(로컬 트랜잭션)**으로 나누어 실행합니다.사가 패턴은 마이크로서비스 아키텍처에서 많이 사용되며, 분산 트랜잭션을 대신하는 대안으로 활용됩니다.사가 패턴의 동작 방식사가 패턴은 여러 개의 서비스가 참여하는 트랜잭션을 작은 로컬 트랜잭션의 연속적인 흐름으로 처리하는 방식입니다.각 로컬 트랜잭션이 성공하면 다음 단계로 진행, 실패하면 보상(rollback) 작업 수행이 이루어집니다.사가 패턴에는 크게 두 가지 방식이 있습니다.1. 조정 중심(Choreography-bas..

프로그래밍 2025.03.15

빌더 (Builder) 클래스란?

빌더 클래스는 객체를 생성할 때 사용되는 디자인 패턴 중 하나인 빌더 패턴(Builder Pattern) 을 구현하는 클래스입니다. 객체 생성 시 복잡한 생성자 호출을 줄이고, 가독성을 높이며, 객체의 불변성을 유지하는 데 유용합니다.1. 빌더 패턴을 사용하는 이유(1) 생성자의 문제점일반적으로 객체를 생성할 때 생성자를 사용하지만, 생성자의 매개변수가 많아지면 아래와 같은 문제점이 발생합니다.public class User { private String name; private int age; private String email; private String address; public User(String name, int age, String email, String ad..