MSA
-
Hystrix는 넷플릭스(Netflix)에서 개발한 서킷 브레이커(Circuit Breaker) 패턴을 구현한 라이브러리로, 마이크로서비스 아키텍처(MSA) 환경에서 장애 전파를 방지하고 애플리케이션의 안정성을 높이기 위해 사용된다. Netflix는 마이크로서비스 환경에서 장애 전파를 막고 서비스 신뢰성을 높이는 역할을 하는 이 라이브러리를 만들면서, 자신을 보호하는 고슴도치의 특성과 비슷하다고 생각해서 "Hystrix"라고 이름을 붙였다고 한다.-> 즉, 고슴도치처럼 장애를 방어하고, 서킷을 닫았다가 다시 열어주는 역할을 한다는 의미에서 지어진 이름 Hystrix의 주요 기능서킷 브레이커 (Circuit Breaker)호출하는 외부 서비스(API, DB 등)에 장애가 발생하면 즉시 차단하고 빠르게 실패..
Circuit Breaker - HystrixHystrix는 넷플릭스(Netflix)에서 개발한 서킷 브레이커(Circuit Breaker) 패턴을 구현한 라이브러리로, 마이크로서비스 아키텍처(MSA) 환경에서 장애 전파를 방지하고 애플리케이션의 안정성을 높이기 위해 사용된다. Netflix는 마이크로서비스 환경에서 장애 전파를 막고 서비스 신뢰성을 높이는 역할을 하는 이 라이브러리를 만들면서, 자신을 보호하는 고슴도치의 특성과 비슷하다고 생각해서 "Hystrix"라고 이름을 붙였다고 한다.-> 즉, 고슴도치처럼 장애를 방어하고, 서킷을 닫았다가 다시 열어주는 역할을 한다는 의미에서 지어진 이름 Hystrix의 주요 기능서킷 브레이커 (Circuit Breaker)호출하는 외부 서비스(API, DB 등)에 장애가 발생하면 즉시 차단하고 빠르게 실패..
2025.03.11 -
기존의 Monolithic 방식에서 MSA로 전환되면서 독립성, 확장성과 같은 많은 이점을 얻었다. 하지만, MSA를 적용하며 겪는 단점도 존재한다. 서비스가 분산되어 있어, 서비스 간 통신에 복잡성 증가 장애 추적 및 모니터링에 대한 어려움 Service Discovery : callee 서비스의 논리적, 물리적 위치가 변경되었을 때 caller에서 찾는데 어려움 Circuit breaking : callee 서비스의 문제가 있을 때, caller 서비스에 해당 장애가 전파되지 않도록 하기 위한 추가적인 노력 필요 이러한 단점들을 극복하기 위해서는 MSA 서비스들은 서비스 간 커뮤니케이션을 통제하는 추가적인 로직이 필요하게 된다. 이러한 작업들을 각각의 서비스에 중복으로 넣지 않고 인프라에서 해당 작업..
[MSA] Service Mesh란기존의 Monolithic 방식에서 MSA로 전환되면서 독립성, 확장성과 같은 많은 이점을 얻었다. 하지만, MSA를 적용하며 겪는 단점도 존재한다. 서비스가 분산되어 있어, 서비스 간 통신에 복잡성 증가 장애 추적 및 모니터링에 대한 어려움 Service Discovery : callee 서비스의 논리적, 물리적 위치가 변경되었을 때 caller에서 찾는데 어려움 Circuit breaking : callee 서비스의 문제가 있을 때, caller 서비스에 해당 장애가 전파되지 않도록 하기 위한 추가적인 노력 필요 이러한 단점들을 극복하기 위해서는 MSA 서비스들은 서비스 간 커뮤니케이션을 통제하는 추가적인 로직이 필요하게 된다. 이러한 작업들을 각각의 서비스에 중복으로 넣지 않고 인프라에서 해당 작업..
2024.03.03 -
MSA 환경을 구성하게 되면, 각각의 서비스들의 상태들을 모니터링하는 것이 기존 형식보다는 까다로워진다. 모놀리식인 경우에는 하나의 application으로 구성되어 있어 해당 application의 상태 정보만 잘 모니터링하면 되었지만 각각의 모듈이 나누어진 MSA 환경에서는 모니터링할 target들이 더 많아진다. MSA 환경에서의 모니터링은 Prometheus, Grafana를 통해 이루어질 수 있다. prometheus 메트릭(metric)이라는 데이터 모델을 기반으로 하는 monitoring, alert 툴 Grafana : 메트릭 정보를 시각화해 주는 툴 위의 그림을 기준으로 보면 prometheus를 통해 spring-boot-application의 모니터링 데이터를 수집 grafana에서 ..
[MSA] Prometheus Grafana 구성 및 특징MSA 환경을 구성하게 되면, 각각의 서비스들의 상태들을 모니터링하는 것이 기존 형식보다는 까다로워진다. 모놀리식인 경우에는 하나의 application으로 구성되어 있어 해당 application의 상태 정보만 잘 모니터링하면 되었지만 각각의 모듈이 나누어진 MSA 환경에서는 모니터링할 target들이 더 많아진다. MSA 환경에서의 모니터링은 Prometheus, Grafana를 통해 이루어질 수 있다. prometheus 메트릭(metric)이라는 데이터 모델을 기반으로 하는 monitoring, alert 툴 Grafana : 메트릭 정보를 시각화해 주는 툴 위의 그림을 기준으로 보면 prometheus를 통해 spring-boot-application의 모니터링 데이터를 수집 grafana에서 ..
2024.02.23 -
grafana docker image https://hub.docker.com/r/grafana/grafana grafana docker compose restart : https://kkang-joo.tistory.com/70 volume : https://kkang-joo.tistory.com/45 privileged : docker container 내에서 host의 리눅스 커널 기능을 모두 사용할 수 있다(host의 주요 자원에 접근 권한 획득) version: "3.8" services: grafana: image: grafana/grafana-oss:9.5.2 container_name: grafana ports: - "3000:3000" volumes: - "grafana_volume:/va..
[MSA] Prometheus Grafana docker 설치grafana docker image https://hub.docker.com/r/grafana/grafana grafana docker compose restart : https://kkang-joo.tistory.com/70 volume : https://kkang-joo.tistory.com/45 privileged : docker container 내에서 host의 리눅스 커널 기능을 모두 사용할 수 있다(host의 주요 자원에 접근 권한 획득) version: "3.8" services: grafana: image: grafana/grafana-oss:9.5.2 container_name: grafana ports: - "3000:3000" volumes: - "grafana_volume:/va..
2024.02.18