Zuul 이란?

  • 넷플릭스가 개발한 API 게이트웨이
  • 모든 서비스 요청을 중앙에서 관리

특징

  • 라우팅
    • 요청 URL에 따라 적절한 서비스로 요청 전달
  • 필터
    • 요청 전후에 다양한 작업을 수행할 수 있는 필터 체인 제공
    • ex) JwtFilterChain을 통해 JWT기반 인증 / 인가 필터 제공
      • Token 생성은 주로 담당 서비스(회원 서비스 or 인증/인가 서비스 등)에서 처리
      • Gateway에서는 권한 검증 로직 담당
  • 모니터링
    • 요청 로그 및 메트릭을 통해 서비스 상태 모니터링 할 수 있음
반응형

Resilience4j 란?

  • JAVA기반의 경량 서킷 브레이커 라이브러리
  • 넷플릭스에서 개발한 Hystrix의 대안
  • Hystrix의 특징과 거의 유사하며, Hystrix에서 제공하는 기능을 유사하게 제공

특징

  • 서킷 브레이커
    • 호출 실패를 감지
    • 서킷을 열어 추가적인 호출을 차단하여 시스템의 부하를 줄임
  • Failback
    • 호출 실패 시 대체 로직을 실행하여 시스템의 안정성을 유지
  • 타임아웃 설정
    • 호출의 응답 시간을 설정하여 느린 서비스 호출에 대응
  • 재시도
    • 재시도 기능을 지원하여 일시적인 네트워크 문제 등에 대응
반응형

Hystrix 란?

  • 넷플릭스가 개발한 서킷 브레이커 라이브러리
  • 서비스 간의 호출 실패를 감지
  • 시스템의 전체적인 안정성 유지
  • Resilience4j와 동일한 역할 수행하지만 무거운 버

특징

  • 서킷 브레이커 상태
    • 클로즈드, 오픈, 하프-오픈 상태를 통해 호출 실패를 관리
  • Failback
    • 호출 실패 시 대체 로직을 제공하여 시스템 안정성 확보
  • 모니터링
    • Hystrix Dashboard를 통해 서킷 브레이커 상태 모니터링
반응형

+ Recent posts