Feign整合Sentinel在项目当中的实际运用

1.在子模块pom文件中添加Feign的支持:

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

2.在application.yml中开启Feign对Sentinel的⽀持:

feign:
  sentinel:
    enabled: true

3.创建容错类, 实现对应的服务接⼝,

@Service
public class VideoServiceFallback  implements VideoService {
    @Override
    public Video findById(int videoId) {
        Video video = new Video();
        video.setTitle("zhege针对肌肤");
        return video;
    }

    @Override
    public int save(Video video) {
        return 0;
    }
}

4.在正确调用的接口上面配置feign容错类:

@FeignClient(value="xdclass-video-service",fallback = VideoServiceFallback.class)
public interface VideoService {

    @GetMapping("api/v1/video/find_by_id")
    Video findById(@RequestParam("videoId") int videoId);

    @PostMapping("api/v1/video/save")
    int save(@RequestBody Video video);
}
经验分享 程序员 微信小程序 职场和发展