서킷 브레이커
- 국비지원 (스파르타)/MSA
- 2025. 2. 10. 12:50
반응형
반응형
현재 msa를 수강중에 있는데 다른 용어들은 들어봤었지만 서킷 브레이커는 처음 들어봤다.
인터넷에 찾아보니 서킷 브레이커는 회로 차단기라고 한다.
서킷 브레이커는 서비스간의 호출을 감지하고 시스템의 안정성을 유지한다는 거라고 한다.
MSA가 각 서비스를 모듈로 각각 만드는건데..
그렇다는건 그냥 500에러를 뱉어서 처리를 할 수 도 있겠지만 그렇게 되면 안정성과 거리가 멀어진다.
애초에 이렇게 만들꺼면 msa를 왜 하는지 모르겠다.
암튼, 서킷 브레이커는 서비스 간의 호출 실패를 감지하고 시스템의 전체적인 안정성을 유지를 하는거라고 한다.
아까 사전적 정의가 회로 차단기라고 했는데
여기서는 회로가 무엇을 말하는 걸까?
그리고 무엇을 차단한다는 걸까?
그러니까 서비스끼리 전파가 회로구
그거에 대한 차단을 말하는 거였다!!
결국 서비스가 잘동작하다가 에러가 발생하면 서킷 브레이커가 그것을 감지하고 에러가 발생하면 서킷브레이커가 처리해주는 뭐 그런 방식인거 같다.
그러면 어떤 라이브러리가 있는지 확인해보자.
아래와 같은 것들이 있다고 한다.
- Hystrix
- 넷플릭스가 개발한 서킷 브레이커 라이브러리로, 서비스 간의 호출 실패를 감지하고 시스템의 전체적인 안정성을 유지
- 주요 특징:
- 서킷 브레이커 상태: 클로즈드, 오픈, 하프-오픈 상태를 통해 호출 실패를 관리
- Failback: 호출 실패 시 대체 로직을 제공하여 시스템 안정성 확보
- 모니터링: Hystrix Dashboard를 통해 서킷 브레이커 상태 모니터링
- Resilience4j
- Resilience4j는 자바 기반의 경량 서킷 브레이커 라이브러리로, 넷플릭스 Hystrix의 대안으로 개발
- 주요 특징:
- 서킷 브레이커: 호출 실패를 감지하고 서킷을 열어 추가적인 호출을 차단하여 시스템의 부하를 줄임
- Failback: 호출 실패 시 대체 로직을 실행하여 시스템의 안정성을 유지
- 타임아웃 설정: 호출의 응답 시간을 설정하여 느린 서비스 호출에 대응할 수 있음
- 재시도: 재시도 기능을 지원하여 일시적인 네트워크 문제 등에 대응할 수 있음
근데 스프링이 넷플릭스라이브러리를 없애고 있는데
Resilience4j얘도 피보탈에서 만든건가..?!
그건 잘모르겠는데 확실한건 넷플릭스에서 만든건 아닌거 같다.
출처:
https://oliveyoung.tech/2023-08-31/circuitbreaker-inventory-squad/
반응형
'국비지원 (스파르타) > MSA' 카테고리의 다른 글
MAS란? (0) | 2025.02.06 |
---|