[MSA] Spring Cloud Config - Spring Cloud (구성 관리)
·
MSA (Micro Service Architecture)
Spring Cloud Config 란?분산된 환경에서 중앙 집중식 설정 관리 제공특징Config 서버중앙에서 설정 파일을 관리하고 각 서비스에 제공Config 클라이언트Config 서버에서 설정을 받아서 사용하는 서비스설정 갱신설정 변경 시 서비스 재시작 없이 실시간으로 반영
[MSA] Cloud Gateway - Spring Cloud (API 게이트웨이)
·
MSA (Micro Service Architecture)
Cloud Gateway 란?Spring Cloud에서 제공하는 API 게이트웨이MSA에서 필수Neflix Zuul과 유사한 기능 제공특징루팅 및 필터링요청을 받아 특정 서비스로 라우팅필요한 인증 및 권한 부여를 수행보안외부 요청으로부터 애플리케이션을 보호보안 정책 적용효율성MSA에서 필요한 요청 처리 및 분산 환경의 관리를 효율적으로 수행
[MSA] Resilience4j - Spring Cloud (서킷 브레이커)
·
MSA (Micro Service Architecture)
Resilience4j 란?JAVA기반의 경량 서킷 브레이커 라이브러리넷플릭스에서 개발한 Hystrix의 대안Hystrix의 특징과 거의 유사하며, Hystrix에서 제공하는 기능을 유사하게 제공특징서킷 브레이커호출 실패를 감지서킷을 열어 추가적인 호출을 차단하여 시스템의 부하를 줄임Failback호출 실패 시 대체 로직을 실행하여 시스템의 안정성을 유지타임아웃 설정호출의 응답 시간을 설정하여 느린 서비스 호출에 대응재시도재시도 기능을 지원하여 일시적인 네트워크 문제 등에 대응
[MSA] Hystrix - Spring Cloud (서킷 브레이커)
·
MSA (Micro Service Architecture)
Hystrix 란?넷플릭스가 개발한 서킷 브레이커 라이브러리서비스 간의 호출 실패를 감지시스템의 전체적인 안정성 유지Resilience4j와 동일한 역할 수행하지만 무거운 버특징서킷 브레이커 상태클로즈드, 오픈, 하프-오픈 상태를 통해 호출 실패를 관리Failback호출 실패 시 대체 로직을 제공하여 시스템 안정성 확보모니터링Hystrix Dashboard를 통해 서킷 브레이커 상태 모니터링
[MSA] Ribbon - Spring Cloud (로드 밸런싱)
·
MSA (Micro Service Architecture)
Ribbon 이란?넷플릭스가 개발한 클라이언트 사이드 로드 밸런서서비스 인스턴스 간의 부하를 분산특징서버 리스트 제공자Eureka로 부터 서비스 인스턴스 리스트를 제공받아,로드 밸런싱에 사용로드밸런싱 알고리즘(스케줄러)라운드 로빈, 가중치 기반 등 다양한 로드 밸런싱 알고리즘 지원 라운드 로빈리스트 순서대로 분산, 한 바퀴 다돌면 다시 처음 부터간단한 처리단순 순회Failover요청 실패 시 다른 인스턴스로 자동 전환Fallback
[MSA] Eureka - Spring Cloud(서비스 등록 및 디스커버리)
·
MSA (Micro Service Architecture)
Eureka 란?Spring Cloud의 주요 모듈로 서비스 등록 및 디스커버리를 수행넷플릭스에서 개발한 서비스 디스커버리 서버MSA에서 각 서비스의 위치를 동적으로 관리특징서비스 레지스트리모든 서비스 인스턴스의 위치를 저장하는 중앙 저장소헬스 체크(Health check)서비스 인스턴스의 상태를 주기적으로 확인하여 가용성을 보장
[MSA] Spring cloud
·
MSA (Micro Service Architecture)
Spring Cloud 란?정의Spring Cloud는 마이크로서비스 개발을 위해 '다양한 도구'와 '서비스'를 제공Spring framwork의 확장MSA를 쉽게 구현하고 운영할 수 있도록 도움주요 기능서비스 등록 및 디스커버리종류 : Eureka, Consul, ZookeeperEureka : application.yml에 정의하는 것으로 간단히 서비스를 등록할 수 있도록 도와줌.로드 밸런싱종류 : Ribbon, Spring Cloud LoadBalancerRibbon각 요청에 맞는 서비스로 요청을 전달동일한 서비스지만 port만 다르게 지정해둔 경우에 주로 '라운드 로빈' 스케줄링 기법으로 요청을 분배다른 스케줄링 기법도 가능.서킷 브레이커종류 : Hystrix, Resilience4jRsilien..