Architecture

·Architecture/MSA
Saga Pattern(사가 패턴)분산된 여러 서비스가 하나의 트랜잭션처럼 동작해야 하는 상황이 있습니다. 그러나 전통적인 데이터베이스 트랜잭션과 달리, 마이크로서비스 환경에서는 이를 일관되게 처리하기 어렵습니다. Saga Pattern은 이러한 문제를 해결하기 위해 도입되었습니다. 이 패턴은 일련의 작은 트랜잭션으로 대규모 트랜잭션을 나눕니다. 각 작은 트랜잭션은 독립적으로 커밋되고, 만약 중간에 실패가 발생하면 보상 트랜잭션을 실행하여 상태를 이전으로 복구합니다.   [MSA] 분산 시스템에서 2단계 커밋(2PC)과 SAGA 패턴을 통한 데이터 일관성 유지본 글은 2PC와 SAGA패턴에 대해서 공부한 지식을 정리한 글입니다.전통적인 모놀리식 아키텍처에서는 애플리케이션의 모든 기능이 하나의 애플리케이션..
·Architecture/MSA
현대의 분산 시스템과 마이크로서비스 아키텍처(MSA)는 데이터 관리의 복잡성을 크게 증가시키고 있습니다. 이러한 시스템에서는 다양한 서비스가 독립적으로 운영되며, 데이터 일관성과 성능 요구 사항을 동시에 충족해야 하는 도전 과제가 있습니다. 이를 해결하기 위해 이벤트 소싱(Event Sourcing)과 CQRS(Command Query Responsibility Segregation)와 같은 패턴이 널리 사용되고 있습니다. 이벤트 소싱(Event Sourcing)이란❓이벤트 소싱은 시스템의 상태를 현재 상태로 저장하는 대신, 상태 변화(변경)를 나타내는 이벤트를 기록하는 패턴입니다. 이를 통해 시스템의 모든 상태 변경 이력을 저장하고, 이를 기반으로 현재 상태를 재구성할 수 있습니다. 이벤트 소싱의 주요..
·Architecture/MSA
본 글은 2PC와 SAGA패턴에 대해서 공부한 지식을 정리한 글입니다.전통적인 모놀리식 아키텍처에서는 애플리케이션의 모든 기능이 하나의 애플리케이션 내에서 구현되며, 데이터베이스 트랜잭션은 단일 데이터베이스에서 처리됩니다. 이 구조에서는 트랜잭션 관리가 비교적 간단하며, commit이나 rollback을 트랜잭션의 원자성, 일관성, 격리성, 지속성(ACID 속성)을 보장하는 것이 수월합니다. 모놀리식 아키텍처의 데이터베이스는 일관된 상태를 유지하기 쉬운 반면, 애플리케이션이 커지고 복잡해지면서 성능과 유지보수에 어려움을 겪을 수 있습니다. 반면, 마이크로서비스 아키텍처(MSA)에서는 애플리케이션을 독립적인 서비스들로 나누어 개발하고 운영합니다. 각 서비스는 자신만의 데이터베이스를 가지고 있으며, 서비스 ..
·Architecture/MSA
디지털 기술이 빠르게 발전함에 따라 소프트웨어 아키텍처도 지속적으로 진화하고 있습니다. 전통적인 모놀리틱 아키텍처에서 점점 더 많은 기업들이 MSA(Microservices Architecture)로 전환하고 있습니다. 이번 포스팅에서는 MSA의 기본 개념과 장단점, 그리고 모놀리틱 아키텍처와의 비교를 통해 MSA의 이점을 살펴보겠습니다.MSA란❓ MSA(Microservices Architecture)는 소프트웨어 애플리케이션을 독립적이고 자율적으로 배포 가능한 작은 여러 서비스들로 나누는 아키텍처 스타일입니다. 각 마이크로서비스는 특정 기능이나 비즈니스 도메인을 담당하며, 다른 서비스와 독립적으로 개발, 배포, 확장 이 가능합니다. 이로 인해 복잡한 애플리케이션을 보다 관리하기 쉬운 조각들로 나눌 수..
지누박
'Architecture' 카테고리의 글 목록