MSA 4

24.09.11 TIL - MSA Service 공통 처리

오늘 배운 것Dependency 추가BaseEntity 추가  개요MSA 형태의 프로젝트를 진행하는데 각 서비스에서 설정해야 하는 것이 많이 있다.  이때 공통적으로 각 서비스에 설정해야 하는 것들이 있다.  이런 공통적인 것들을 작성해 봤다.  각 서비스에서 추가해야 하는 것들이 어떤 것들이 있는지 알아보자.   Dependency 추가우선 추가한 Dependency들은 다음과 같다. Spring WebLombokSpring SecuritySpring Data JPAPostgreSQL DriverValidationSpring Boot ActuatorZipkinPrometheusEureka Discovery ClientOpenFeign위의 dependency는 Spring Initializer에서 추가하..

TIL 2024.09.12

24.08.12 TIL - MSA 구성 요소들

오늘 배운 것MSA 구성 요소들서비스 디스커버리 = Eureka Server, ClientHTTP 클라이언트 및 로드밸런서 = FeignClient & Ribbon서킷 브레이커 = Resilience4jAPI gateway = Spring Cloud GatewayConfig Server = Spring Cloud Config분산 추적 및 로깅 = Zipkin 개요MSA를 학습하며 많은 것들을 배웠다.  그중 정리해 볼 만한 것들을 가져와 봤다.  간단하고 큰 그림을 그릴 수 있도록 작성할 예정이다.  서비스 디스커버리 (Eureka Server, Client)서비스 디스커버리는 MSA에서 각 서비스의 위치를 동적으로 관리하고 찾아주는 기능이다. 이 중 Eureka라는 것이 있고 이것을 사용해봤다.   M..

TIL 2024.08.13

24.08.09 TIL - 서킷 브레이커 & Resilience4j

오늘 배운 것서킷 브레이커Resilience4j 서킷 브레이커란마이크로서비스 간의 호출 실패를 감지하고 시스템의 전체적인 안정성을 유지하는 패턴이다. 외부 서비스 호출 실패 시 빠른 실패를 통해 장애를 격리한다.장애를 격리해 시스템의 다른 부분에 영향을 주지 않도록 하는 것이다. 상태라는 것이 존재한다 (CLOSED, OPEN, HALF_OPEN)   Resilience4j란Resilience4j는 서킷 브레이커 라이브러리다.다양한 서킷 브레이커 기능을 제공한다. 서킷 브레이커 상태를 통해 호출 실패를 관리한다. Fallback이라는 호출 실패 시 대체 로직 제공해 시스템 안전성 확보모니터링 및 관리 가능한 도구 제공 Fallback이란Fallback 메서드는 정상 동작 메서드가 실패했을 때 대체 로직을..

TIL 2024.08.10

24.08.06 TIL - MSA

오늘 배운 것MSA MSA란?MSA = MicroServices Architecture하나의 애플리케이션을 여러 개의 독립적인 서비스로 분리하는 것이다. 분리해서 개발, 배포, 유지보수를 용이하게 하는 소프트웨어 아키텍처 스타일이다.  특징독립적인 서비스는 특정 비즈니스 기능을 수행한다. 독립적인 서비스 간의 통신은 HTTP/HTTPS, 메시지 큐 등을 통해 이루어진다.서비스가 독립되어 있어 각각 배포 가능하다. 서비스가 독립되어 있어 다른 서비스에 영향 없이 업데이트, 확장 가능하다. 서비스가 독립되어 있어 기술 스택 자유롭게 선택할 수 있다. (한 서비스는 Spring로 개발, 한 서비스는 Django로 개발) MicroServices Architecture VS Monolithic Architect..

TIL 2024.08.06