Tôi đang cố gắng triển khai hystrix cho ứng dụng của mình bằng hystrix-javanica.Cấu hình Hystrix
Tôi đã cấu hình như sau hystrix-configuration.properties
hystrix.command.default.execution.isolation.strategy=SEMAPHORE
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000
hystrix.command.default.fallback.enabled=true
hystrix.command.default.circuitBreaker.enabled=true
hystrix.command.default.circuitBreaker.requestVolumeThreshold=3
hystrix.command.default.circuitBreaker.sleepWindowInMilliseconds=50000
hystrix.command.default.circuitBreaker.errorThresholdPercentage=50
mẫu ngắn mạch đang làm việc tốt nhưng tôi có một nghi ngờ trong này hystrix.command.default.circuitBreaker.requestVolumeThreshold=3
- Is it nêu mở mạch sau 3 thất bại hoặc
- Mở mạch sau 3 lỗi đồng thời.
Cuốn qua các tài liệu
Ai có thể trả lời?
Bit nhầm lẫn với cửa sổ cuộn. Bạn có thể giải thích thêm chút nữa không? Theo mạch cấu hình của tôi nên được mở sau 3 thất bại? Phải không? – Jay
Xem https://github.com/Netflix/Hystrix/wiki/How-it-Works#circuit-breaker để biết thêm chi tiết về cách bộ ngắt mạch hoạt động. 3 bạn đã cấu hình không phải là một số thất bại mà trên đó để phá vỡ. Bộ ngắt Hystrix phá vỡ _percentage_ của các lỗi ('errorThresholdPercentage = 50'% bạn đã cấu hình), được xem xét qua các cuộc gọi trong một cửa sổ thời gian nhất định. 'RequestVolumeThreshold = 3' là (theo câu trả lời ban đầu của tôi) một ngưỡng số lượng tối thiểu của các cuộc gọi, mà phải được đáp ứng trong cùng một cửa sổ thời gian, để làm cho các tính toán% age có ý nghĩa thống kê. –
Xem https://github.com/Netflix/Hystrix/wiki/Configuration#metricsrollingstatstimeinmilli giây để biết thời gian các cửa sổ được định cấu hình. –