MSA

·Backend/MSA 전환
1. 서킷 브레이커(Circuit Breaker)란? 서킷 브레이커(Circuit Breaker) 패턴은 MSA 환경이나 분산 시스템에서 장애를 격리하고 시스템의 신뢰성을 높이기 위해 사용되는 디자인 패턴입니다. 전기 회로 차단기와 유사한 개념으로, 특정 조건에서 서비스의 호출을 차단해 장애 전파를 방지하는 역할을 합니다. 그렇다면 이 서킷 브레이커가 필요한 이유에 대해 자세히 알아보도록 하겠습니다.   1-1 서킷 브레이커(Circuit Breaker)가 필요한 이유마이크로서비스 환경에서는 각 서비스가 네트워크를 통해 통신하게 됩니다. 하지만 네트워크 장애 의존 서비스의 다운타임, 과부화 등의 이유로 일부 서비스가 정상적으로 응답하지 않을 수 있습니다. 또한 문제가 발생한 서비스에 계속 요청을 보낸다면..
·Backend/MSA 전환
1. 서비스 분리에서 나타난 문제점기존 모놀리식 구조에서 MSA전환을 진행하면서 애플리케이션을 각 서비스별로 분리하다 엄청난 고뇌에 빠지게 되었습니다...예매 서비스와 티켓 서비스를 분리한 구조에서, 예매 내역을 조회할 때 데이터를 어떻게 처리할까에 대한 고민이었습니다. 상황 설명1. 티켓 서비스공연, 스케줄, 좌석 정보를 관리주요 기능: 티켓 생성, 스케줄 관리, 좌석 관리 2. 예매 서비스예매 및 예매 내역 관리주요 기능 : 예매 생성, 예매 취소, 예매 내역 조회예매 내역을 조회하면 공연 이름, 스케쥴(회차), 좌석 정보 등이 필요하게 됩니다. 하지만 이 데이터는 티켓 서비스에서 관리하고 있는 상황입니다. 고뇌 끝에 이 문제를 해결할 두 가지 방법을 생각해보았습니다.  1. 예매 서비스의 DB에 관..
·Backend/MSA 전환
1. 개요최근 기존 모놀리식(monolithic) 아키텍처 기반의 티켓 예매 프로젝트를 MSA(Microservices Architecture)로 전환해보았습니다. 이번 포스팅에서는 전환 과정에 대해 다루기에 앞서, 먼저 모놀리식 아키텍처와 MSA란 무엇인지 간단히 살펴보고, 두 가지 아키텍처의 차이점을 비교해보려 합니다.   2. 모놀리식(monolithic) 아키텍처란?모놀리식 아키텍쳐란 모든 로직이 하나의 애플리케이션 형태로 패키지 되어 서비스되고, 애플리케이션에서 사용하는 데이터 또한 한 곳에 모인 데이터를 참조해 서비스되는 형태를 의미합니다. 위와 사진과 같이 애플리케이션이 하나의 패키지로 서비스 되기 때문에 배포가 단일 프로세스가 이루어져 간단하고, 한 곳에서 모든 로직을 관리할 수 있어 직관..
여포개발자
'MSA' 태그의 글 목록