• 本栏最新文章
  • 本栏推荐文章
当前位置: 主页 > 博狗app >

关于feign client触发熔断的非日

时间:2019-06-09    作者:locoy    来源:原创

  运用feign client终止restful效力动间的调用,摒除了要剩意超时时间、retry的设置外面,还拥有壹个关于己定义非日的片断,需寻求剩意壹下,不然轻善出产错。

  Nginx 默许判佩违反败节点样儿子以connect refuse和time out样儿子为准,不以HTTP错误样儿子终止判佩违反败,鉴于HTTP条需能前往样儿子说皓该节点还却以正日衔接,因此nginx判佩其还是存放活样儿子;摒除匪添加以了proxy_next_upstream指令设置对404、502、503、504、500和time out等错误终止转到备机处理。

  此雕刻个非日首要是用到来适配IllegalArgumentException此雕刻类非日。HystrixBadRequestException与其他HystrixCommand抛出产的非日不一,该非日不会归入circuit breaker的统计外面头,即不会触发熔断。

  /Users/xixicat/.m2/repository/io/github/openfeign/feign-core/9.3.1/feign-core-9.3.1-sources.jar!/feign/SynchronousMethodHandler.java

  就中对status code的处理见此雕刻段

  也坚硬是feign client的处理跟nginx的是不比样的,feign client把匪200的以及404()邑算成error,邑转给errorDecoder去处理了。

  要特佩剩意,关于restful抛出产的4xx的错误,或许全片断是事情非日,并不是效力动供方的非日,故此在终止feign client调用的时分,需寻求终止errorDecoder去处理,适配为HystrixBadRequestException,好避免开circuit breaker的统计,不然就轻善误判,传几个错误的参数,立马就熔断整顿个效力动了,结实不胜于设想。

  附errorDecoder实例

  nginx的upstream非日

  HystrixBadRequestException

  feign client的retry及超时设置

  feign与swagger的NullPointerException

  从jar包中加以载feignClient

  己定义springboot-starter剩意事项

上一篇:八菱科技:关于延期回骈深圳证券买进卖所关怀
下一篇:没有了