3

ここでは、hystrixでfeignを使用しています。フォールバックメソッドが5秒で20回呼び出されると、CircuitはOpenステータスに変わります。このルールを変更するにはどうすればいいですか?たとえば、フォールバック方式が5秒間に50回、またはフォールバックコールバックレートで呼び出されたときに、Circuitステータスがオープンになるようにします。 ここに私のメインJavaコードです。Springクラウドのコンフィグフェイルフォールバック(CircuitBreaker)ルール

ConsumerApplication.java

@SpringBootApplication 
@EnableDiscoveryClient 
@EnableFeignClients 
@EnableCircuitBreaker 
@RibbonClients({@RibbonClient(name = "cloud-provider", configuration = CloudProviderConfiguration.class)}) 
public class ConsumerApplication { 
    public static void main(String[] args) { 
     SpringApplication.run(ConsumerApplication.class, args); 
    } 
} 

UserFeignClient.java

@FeignClient(name = "cloud-provider", fallback = UserFeignClient.HystrixClientFallback.class) 
public interface UserFeignClient { 
    @RequestMapping("/{id}") 
    BaseResponse findByIdFeign(@RequestParam("id") Long id); 

    @RequestMapping("/add") 
    BaseResponse addUserFeign(UserVo userVo); 

    @Component 
    class HystrixClientFallback implements UserFeignClient { 
     private static final Logger LOGGER = LoggerFactory.getLogger(HystrixClientFallback.class); 

     @Override 
     public BaseResponse findByIdFeign(@RequestParam("id") Long id) { 
      BaseResponse response = new BaseResponse(); 
      response.setMessage("disable!!!!"); 
      return response; 
     } 

     @Override 
     public BaseResponse addUserFeign(UserVo userVo) { 
      BaseResponse response = new BaseResponse(); 
      response.setMessage("disable"); 
      return response; 
     } 
    } 
} 

答えて

4

設定パラメータはhttps://github.com/Netflix/Hystrix/wiki/Configuration

hystrix.command.default.circuitBreaker.sleepWindowInMillisecondsは、あなたが見ている5秒のウィンドウを変更し、ここで説明されています。

hystrix.command.default.circuitBreaker.requestVolumeThresholdのデフォルトは20回です。

+0

ありがとうございました!できます。 –

+0

@spencergibbこれらのプロパティは、すべてのfeith hystrixクライアントに適用されますか?特定のfeignクライアントのみのhystrixプロパティを変更したいのですが? – codingsplash

関連する問題