MSA

·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)에서는 애플리케이션을 독립적인 서비스들로 나누어 개발하고 운영합니다. 각 서비스는 자신만의 데이터베이스를 가지고 있으며, 서비스 ..
현대의 소프트웨어 개발에서 마이크로서비스 아키텍처(MSA)는 큰 인기를 끌고 있습니다. 따라서 전통적인 모놀리틱 아키텍처에서 점점 더 많은 기업들이 MSA(Microservices Architecture)로 전환하고 있습니다. 그러나 앞선 "MSA란 무엇일까❓"포스팅에서도 알아보았듯이 많은 장점들이 있지만 복잡한 도전과제를 수반하기 때문에 이를 효율적으로 관리하고, 운영하는 것을 결코 쉬운 일이 아닙니다. 따라서 아키텍처를 효과적으로 운영하려면, 여러 가지 복잡한 문제들을 해결해야 합니다. 이때 도움이 되는 것이 바로 "Spring Cloud"입니다. 이번 포스팅에서는 Spring Cloud가 무엇인지, 어떠한 종류가 있는지, 장단점에 대해서 알아보겠습니다. Spring Cloud란❓ Spring Clo..
지누박
'MSA' 태그의 글 목록