기록하는 습관

[장애차단] MSA 회복성 패턴 본문

개발

[장애차단] MSA 회복성 패턴

로그뉴 2022. 11. 9. 09:20

##1. 회복성 패턴

서비스에 장애가 발생했을 때, 문제가 전파되는 것을 막는 구현 방식은 3가지가 있다.

  1. Circuit Breaker
    • 서비스 호출을 모니터링 하여 일정 timeout을 넘기면 실패 횟수가 카운팅 되고 조건에 충족되면 회로 차단기가 활성화 되어 다른 서버로의 장애 전파를 막는다.
    •  
  2. Fall back
    • 회로 차단기에 의해 서비스 호출이 실패하면 대체 코드를 서비스 한다.
  3. Bulk head
    • 스레드를 격리된 구획으로 관리하여 특정 스레드에 문제가 발생시 전체 application이 다운될 위험을 방지한다.

 

##2. 종류

  1. Hytrix
    1. Hystrix는 Netflix에서 Circuit Breaker, Fall back, Bulk head 패턴을 구현한 라이브러리.
    2. 2018년도에 공식적으로 개발 종료. 이후 유지보수만 진행
    3. Java6 기반
  2. Resilience4j
    1. application 레벨
    2. Java8 기반
    3. 라이브러리 의존성이 없어서 Hytrix와 다르게 가볍다.
  3. Istio
    1. infra 레벨
Comments