Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Micro service의 장애 회피를 위한 CircuitBreaker #60

Open
choi-ys opened this issue Jan 14, 2022 · 0 comments
Open

Micro service의 장애 회피를 위한 CircuitBreaker #60

choi-ys opened this issue Jan 14, 2022 · 0 comments

Comments

@choi-ys
Copy link
Owner

choi-ys commented Jan 14, 2022

micro-services에 의해 하나의 시스템을 이루는 복잡한 환경에서
각각의 서비스에서 문제가 생겼을때의 추적과 처리 목적
전후 통신 구간에 대한 흐름 파악

Tace ID and Span ID

CircuitBreaker

  • 장애가 발생하는 서비스에 반복적인 호출이 되지 못하게 차단
  • 특정 서비스가 정상적으로 동작하지 않을 경우 다른 기능으로 대체 수행 -> 장애 회피

CircuitBreaker Status

  • OPEN : 장애회피
  • CLOSE : 시스템 정상

Spring 진영의 CircuitBreaker 제공 오픈소스

  • 과거 : netflix-hystirx -> 현재 업데이트 중단
  • 현재 : Resilience4j

Resilience4j

  • Fault tolerance를 제공하는 경량 라이브러리
  • Netflix Hystrix를 대체

필요 의존성

dependencies {
  implementation 'org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j'
}

Library

  • resilience4j-circuitbreaker : Circuit breaking
  • resilience4j-ratelimiter : Rate Limiting
  • resilience4j-bulkhead : Bulkheading
  • resilience4j-retry : Automatic retrying (sync and async)
  • resilience4j-timelimiter : Timeout handling
  • resilience4j-cache : Result caching

Reference URL

@choi-ys choi-ys changed the title Micro service의 장애 회피를 위한 CricuitBreaker Micro service의 장애 회피를 위한 CircuitBreaker Jan 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant