이창용 / Maps
Architecture
장애
장애
장애극복
Netflix Hystrix
Netflix Hystrix
spring-boot-starter-hystrix,
spring-boot-starter-netflix-hystrix
Netflix Hystrix
Netflix Hystrix
execution.isolation.thread.timeoutInMilliseconds
hystrix 가 설정된 메서드의 타임아웃
circuitBreaker.requestVolumeThreshold
circuitbreaker가 열릴 최소 요청수 조건
Netflix Hystrix
circuitBreaker.sleepWindowInMilliseconds
circuitbreaker가 열렸을때 지속 시간
coreSize
hystrix가 사용할 thread pool 사이즈
"10초 동안 30번 이상의 요청이 있었고, 오류율이 50% 이상이면 1분간 서킷브레이커를 열겠다"
유의할점
넷플릭스 문서에서는 굳이 Semaphore 를 사용하겠다면 비네트워크 환경에서 사용하라고함, Thread를 권장
넷플릭스 문서에서는 기본값 (10) 권장. 별생각없이 기본값 썼다가 낭패. 넷플릭스 문서에 coreSize 를 구하는 공식이 있긴하지만 성능테스트를 돌려보며 점진적으로 늘린 값을 사용
모니터링
모니터링
이후
Turbine
Eureka
Eureka
Turbine
Turbine
Hystrix-client
Eureka
Cluster 모니터링
Spring Cloud Config
Spring Cloud Config
Spring Cloud Config Server
Spring Cloud Config Client
Refresh
Refresh
느낀점