Feign 服务间调用失败-熔断

2022-08-08 14:39:26

到了需要服务间调用的需求,踩了个坑,在此记录一下。

需求是这样的 A 服务需要调用 B 服务的接口

这是 A 服务调用 B 服务写的接口

A 服务 配置spring ApplicationName

spring: 
  application:
    name: a-service

B 服务 配置spring ApplicationName

spring: 
  application:
    name: b-service
@FeignClient(name="b-service", fallback= B.class)publicinterfaceAservice{@PostMapping("/selectA/{typeId}")
    StringselectPlanCount(@PathVariable("typeId")Integer typeId);}

熔断

@Slf4j@ComponentpublicclassAserviceImplimplementsAservice{@Overridepublic StringselectPlanCount(Integer typeId){
        String errorMsg="触发接口熔断,默认返回";
        log.info(errorMsg);return errorMsg;}}

发现只要一调用就熔断 ,结果发现是 rest 地址没写全

@Slf4j@CrossOrigin@RestController@RequestMapping("anls")@Api(tags={"分析服务"})publicclassAnalysisController{@PostMapping("/selectA/{typeId}")public ResultDTO<PageInfo<BizEcOrderVo>>getAllOrderByPage(@PathVariable("typeId") Integer typeId){return"ok";}}

修改后 正常访问

@FeignClient(name="b-service", fallback= B.class)publicinterfaceAservice{@PostMapping("anls/selectA/{typeId}")
    StringselectPlanCount(@PathVariable("typeId")Integer typeId);}

本次feign 服务间调用踩坑到此结束。

如有哪里写的不好请指出,共同进步。

  • 作者:eijj
  • 原文链接:https://blog.csdn.net/weixin_44570677/article/details/115515530
    更新时间:2022-08-08 14:39:26