개발
[장애차단] MSA 회복성 패턴
로그뉴
2022. 11. 9. 09:20
##1. 회복성 패턴
서비스에 장애가 발생했을 때, 문제가 전파되는 것을 막는 구현 방식은 3가지가 있다.
- Circuit Breaker
- 서비스 호출을 모니터링 하여 일정 timeout을 넘기면 실패 횟수가 카운팅 되고 조건에 충족되면 회로 차단기가 활성화 되어 다른 서버로의 장애 전파를 막는다.
- Fall back
- 회로 차단기에 의해 서비스 호출이 실패하면 대체 코드를 서비스 한다.
- Bulk head
- 스레드를 격리된 구획으로 관리하여 특정 스레드에 문제가 발생시 전체 application이 다운될 위험을 방지한다.
##2. 종류
- Hytrix
- Hystrix는 Netflix에서 Circuit Breaker, Fall back, Bulk head 패턴을 구현한 라이브러리.
- 2018년도에 공식적으로 개발 종료. 이후 유지보수만 진행
- Java6 기반
- Resilience4j
- application 레벨
- Java8 기반
- 라이브러리 의존성이 없어서 Hytrix와 다르게 가볍다.
- Istio
- infra 레벨