각 서비스는 독립적으로 배포되며공통 인프라를 통해 연결됨Eureka서비스 위치를 등록하고 조회하는 역할 수행함서비스 간 직접 IP 의존성을 제거함Ribbon여러 인스턴스 중 하나를 선택하여 부하를 분산함특정 서버에 트래픽이 집중되는 것을 방지함Resilience4j서비
📖 개요 Spring Cloud 마이크로서비스 아키텍처(MSA) 구축을 지원하는 Spring Framework 확장 프로젝트 마이크로서비스 환경에서는 여러 서비스가 독립적으로 실행되며 서로 통신 필요 이 과정에서 다음 문제 발생 서비스 위치 관리 문제 서비스 간 통신 문제 장애 대응 문제 설정 관리 문제 요청 흐름 추적 문제 Spring Clo...
Spring Cloud Eureka마이크로서비스 환경에서 서비스의 등록 및 위치 조회를 관리하는 서비스 디스커버리 서버왜 사용하는지서비스가 여러 개로 분리된 환경에서각 서비스의 IP / Port를 직접 관리하기 어려움서비스가 실행될 때 자동으로 등록하고다른 서비스가 필
Eureka마이크로서비스 환경에서 서비스의 등록 및 위치 조회를 관리하는 서비스 디스커버리 서버OpenFeign다른 서비스를 HTTP로 호출할 때 인터페이스 기반으로 사용할 수 있는 선언형 REST Client왜 사용하는지마이크로서비스 환경에서는하나의 서비스가 여러 인
Circuit Breaker마이크로서비스 간 호출 실패를 감지하고 시스템 장애 전파를 차단하는 패턴 왜 사용하는지서비스 간 호출 실패가 연쇄적으로 발생하는 문제 방지외부 API 장애로 전체 시스템 다운되는 상황 방지 해결하는 문제장애 전파 방지 빠른 실패 처리
Spring Cloud Gateway클라이언트 요청을 받아 내부 마이크로서비스로 전달하는 API Gateway왜 사용하는지서비스가 여러 개일 때 단일 진입점 구성 필요인증, 로깅, 필터링 공통 처리서비스 주소(IP/Port) 숨기기 가능해결하는 문제서비스별 URL 직접
Spring Cloud Config분산 시스템 환경에서 애플리케이션 설정을 중앙에서 관리하는 구성 관리 서버마이크로서비스 환경에서 설정 중앙 관리 가능환경별(local, dev, qa, prod 등) 설정 분리 지원설정 변경 시 재배포 없이 반영 가능왜 사용하는지서비스
분산 추적 (Distributed Tracing)마이크로서비스 환경에서 서비스 간 요청 흐름을 추적하고 모니터링하는 기술 사용 이유서비스가 여러 개로 분리된 환경에서요청 흐름이 복잡해져 문제 원인 파악 어려움 → 요청 흐름을 한눈에 파악 가능 해결 문제서비스 간
이벤트 드리븐 아키텍처 (EDA)시스템에서 발생하는 이벤트를 기반으로 동작하는 비동기 아키텍처왜 사용하는지서비스 간 직접 호출 대신이벤트 기반으로 통신하여 느슨한 결합 유지해결하는 문제서비스 간 강한 의존성 제거비동기 처리로 성능 개선확장성 확보핵심 특징이벤트 기반 통
여러 요청이 동시에 같은 데이터를 읽고 쓸 때 생기는 문제다.예를 들어 재고가 1개 남은 상품에 두 사람이 동시에 주문하면 이런 일이 벌어진다.이걸 Race Condition(경쟁 상태)이라고 한다. 단일 서버에서도 발생하지만, MSA처럼 여러 서비스가 분산되어 있으면
회복성(Resilience) 이란 시스템의 일부에 장애가 발생하더라도 전체 시스템이 완전히 중단되지 않고, 장애를 감지·격리·복구하여 정상 상태로 되돌아올 수 있는 능력을 말한다.모놀리식 아키텍처에서는 하나의 장애가 전체 애플리케이션을 멈추게 할 수 있지만, MSA에서
분산 트랜잭션(Distributed Transaction) 이란 여러 개의 독립적인 서비스(또는 데이터베이스)에 걸쳐 하나의 논리적 트랜잭션을 수행하는 것을 말한다.모놀리식 아키텍처에서는 하나의 데이터베이스에 대해 로컬 트랜잭션(BEGIN → COMMIT/ROLLBAC
MSA에서 각 서비스는 독립적으로 배포·운영되며, 비즈니스 기능을 완수하기 위해 다른 서비스와 네트워크를 통해 통신해야 한다. 모놀리식에서는 메서드 호출(in-process call)이었던 것이 MSA에서는 네트워크 호출(remote call)로 바뀌기 때문에, 통신