BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
BESPIN Tech Blog
  • Tech
    • CSP
      • AWS
      • GCP
      • NCP
    • Cloud
      • Migration
      • LZ, Control Tower
      • Backup
      • Monitoring
      • Container
    • Infra
      • OS
      • Middleware
    • Data
      • RDB
      • Big Data Platform
    • Application
      • CI/CD
  • Trend
  • IT
  • Contact US
Site Reliability Engineering

MSA 장애 예방을 위해 #2

by 승재 최 2022년 06월 28일
2022년 06월 28일
4

2부 에서는 간단한 Spring Code 를 통해 Circuit Breaker 사용 방법을 알아 보겠습니다.



1. Test Source Code


1.1 main application


@EnableCircuitBreaker

Circuit breaker 사용을 위하여 EnableCircuitBreaker Annotation 추가합니다.

@EnableHystrixDashboard

HystrixDashboard 사용을 위하여 @EnableHystrixDashboard Annotation 추가합니다.


1.2. Service

Circuit breaker 적용하기 위해서 실 서비스 메서드 위에  

@HystrixCommand(fallbackMethod = “getFallback”) Annotation 정의하고,

Service 장애 시 호출한 fallback 메서드는 getFallback 메서드로 지정합니다.

앞서 정의한 Fallback은 getFallback() 메서드로 Circuit breaker 를 적용한 원래 함수와 입력/출력 인자가 동일합니다.



2. TEST Return Result 확인


2.1 정상 상태 리턴


2.2 비정상 상태 리턴 (Circuit Breaker 발생)



3. 모니터링을 통한 Circuit Breaker 동작 확인


3.1 모니터링

/actuator/hystrix.stream 통하여 메서드의 상태 현황 정보를 체크합니다.


3.2 Circuit Breaker 동작 확인

error count 와 request count 의 변화를 확인할 수 있습니다.


3.3 HystrixDashboard 로 Circuit Breaker 동작 확인

Circuit breaker가 등록된 서비스들이 모니터링 되며 실제 호출 시 정상 호출과 비정상 호출을 모니터링 할 수 있습니다.



결론

마이크로 서비스를 지향하는 서비스에서 각 서비스 간의 동기 호출로 인한 종속 관계 일 때 특정 서비스 장애 시 전체 서비스의 장애로 이어질 수 있습니다.

Circuit Breaker를 사용하여 특정 서비스 장애 시에도 동기 호출 리턴 값을 받아 서비스 간의 종속 관계와 상관없이 해당 서비스만 차단함으로써 전체 장애로 이어지는 것을 막을 수 있습니다.

MSA 마다 다르겠지만 전체 서비스로 장애를 확산 시킬 수 있는 마이크로 서비스에는 Circuit Breaker를 적용하여 장애 예방을 해보는 것도 하나의 방법이 될 수 있을 것 같습니다.



참고자료

  • https://bcho.tistory.com/1250
  • https://medium.com/@jegasingamjeyanthasingam/circuit-breaker-pattern-for-microservices-eb71569dc44d
  • https://medium.com/nerd-for-tech/design-patterns-for-microservices-circuit-breaker-pattern-ba402a45aac2


관련

MSACircuit Breaker

HOT Trend

Recent Posts

  • 딜로이트도, 맥킨지도, 베스핀글로벌도: AI 에이전트로 일 바꾸는 시대

    2025년 07월 04일 클라우드베스핀글로벌clouddata데이터AI인공지능HelpNow AIbespinglobalAI에이전트helpnow업무자동화딜로이트
  • ⚔️데이터센터에서 시작된 전쟁? 요즘 뜨는 AIDC 개념부터 트렌드까지!

    2025년 06월 27일 클라우드clouddata데이터AI데이터센터클라우드 데이터센터bespinglobalAIDCAI 인프라베스핀글로벌
  • 구글부터 엔비디아까지, 빅테크 기업들의 AI 전략 최신본📖

    2025년 06월 20일 cloud베스핀글로벌클라우드data데이터AI구글마이크로소프트엔비디아AI에이전트google I/ONVIDIA GTC 2025Microsoft build 2025
  • AI를 연결한다고? 업계가 주목하는 ‘MCP’ 알아보기🔍

    2025년 06월 13일 베스핀글로벌클라우드cloudAIMCP
  • [WhaTap] RDS Failover/Reboot 관제 2 – RDS Failover

    2025년 05월 30일 RDSRDS FailoverRebootFailoverbespin global

베스핀글로벌은 모든 기업의 AI 혁신을 실현하기 위해, 세상에서 가장 혁신적이고 자동화된 AI 서비스와 솔루션을 만들어갑니다.
상호 : 베스핀글로벌 주식회사 ㅣ 대표자명 : 김써니, 허양호 ㅣ 사업자등록증번호 : 638-87-00223 ㅣ 통신판매번호 : 2019-서울서초-0347 ㅣ 대표전화 : 1668-1280
사업장주소지 : 서울특별시 서초구 강남대로 327, 13,14,15,16층(서초동,대륭서초타워) ㅣ 이메일 : info@bespinglobal.com ㅣ 개인정보 처리방침 ㅣ 개인정보 처리방침 안내

© 2026 BESPIN GLOBAL, All Rights Reserved.

BESPINGLOBAL
패밀리 사이트
China MEA SEA US

BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT