본문 바로가기

디자인 패턴/Circuit breaker 패턴

(3)
Circuit breaker 패턴 - 3) spring을 이용한 Circuit breaker 1) 시나리오 A서버에서 B서버에 http call A서버 -> circuit breaker -> B서버 전체 소스 : https://github.com/qwer9412/circuit_breaker_test 2) pom.xml에 dependency 추가 1.8 Hoxton.SR3 org.springframework.cloud spring-cloud-starter-netflix-hystrix org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import spring-cloud-starter-hystrix 라이브러리 추가 properties에 버전과 dependencyManagement가 없으면 아래와 같은 오류 발..
Circuit Breaker 패턴 - 2) 넷플릭스의 Hystrix 라이브러리 사용하기 1) 시나리오 A서버에서 B서버에 http call A서버 -> circuit breaker -> B서버 전체 소스 : https://github.com/qwer9412/circuit_breaker_test 2) pom.xml에 dependency 추가 com.netflix.hystrix hystrix-core 1.5.18 io.reactivex.rxjava2 rxjava 3) circuit breaker (GetACircuitBreaker) 코드 public class GetACircuitBreaker extends HystrixCommand{ protected GetACircuitBreaker(HystrixCommandGroupKey group) { super(group); } @Override //..
Circuit breaker 패턴 - 1) Circuit breaker란 1) MSA(마이크로소프트 서비스 아키텍처) 패턴의 한계 MSA패턴은 시스템을 여러 서비스 컴포넌트로 나누고 각 컴포넌트끼리 서로 호출을 하는 패턴이다. 아래의 그림 1이 MSA패턴의 모습이다. 이 패턴의 한계는 서버가 서로 종속적이라는 점이다. 즉, server A가 server B을 호출을 했을 때 server B가 응답을 못하거나 응답 시간이 길어진다면 server A는 응답을 계속 기다리게 되는 한계가 있다. 이러한 한계를 극복한 것이 Circuit breaker 패턴이다. 2) Circuit breaker 패턴이란 Circuit breaker 패턴은 그림 1에서 server A와 server B사이에 circuit breaker를 두는 것이다. 아래의 그림2가 Circuit breaker 패턴의..