41.Sentinel
2024-09-08 17:45:17
Feign 整合 Sentinel
依赖
<!--Feign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--sentinel-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
application.properties
# Feign 整合 Sentinel
feign.sentinel.enabled=true
UserCenterFeignClient
@FeignClient(
name = "user-center",
// fallback = UserCenterFeignClientFallback.class
fallbackFactory = UserCenterFeignClientFallbackFactory.class
)
public interface UserCenterFeignClient {
@GetMapping("/users/{id}")
UserDTO queryById(@PathVariable("id") Integer id);
}
UserCenterFeignClientFallback
# 注意一定要加@Component
@Component
public class UserCenterFeignClientFallback implements UserCenterFeignClient {
@Override
public UserDTO queryById(Integer id) {
UserDTO userDTO = new UserDTO();
userDTO.setWxNickname("默认用户");
return userDTO;
}
}
UserCenterFeignClientFallbackFactory
@Component
@Slf4j
public class UserCenterFeignClientFallbackFactory implements FallbackFactory<UserCenterFeignClient> {
@Override
public UserCenterFeignClient create(Throwable throwable) {
return new UserCenterFeignClient() {
@Override
public UserDTO queryById(Integer id) {
log.warn("远程调用被限流/降级了", throwable);
UserDTO userDTO = new UserDTO();
userDTO.setWxNickname("默认用户");
return userDTO;
}
};
}
}
FallbackFactory 比 Fallback 更强大,可以打印更多异常信息。
源码:
规则持久化
最新文章
- keras安装
- 常见排序算法总结(含C/C++代码)
- Sublime3安装过程及常用插件安装及常用快捷键
- Spark官方文档——本地编写并运行scala程序
- C#图片切割、图片压缩、缩略图生成
- 安装rlwrap错误的问题解决方法
- C#实现Dll(OCX)控件自动注册的两种方法
- 使用 sp_executesql
- SharpDeveloeper开发ASP.NET MVC汗流浃背
- [cocos2dx动作]CCLabel类数字变化动作
- Android源码学习
- RB1001: IE6 IE7 IE8(Q) 负边距 (margin) 导致元素溢出 hasLayout 容器时显示异常
- Why Functional Programming Matters
- 使用jieba库与wordcloud库第三方库进行词频统计
- graph_base_pic_segmentation里面的细节和代码
- postman 测试套件collection
- redis 4.x 安装哨兵模式 sentinel
- BZOJ3526[Poi2014]Card——线段树合并
- imperva代理拦截
- NPOI保存到服务器和导出到客户端
热门文章
- 8个Spring事务失效的场景,你碰到过几种?
- selenium 之可视模式、静默模式、忽略证书不可用的设置
- LFU 的设计与实现
- 【深入浅出 Yarn 架构与实现】4-4 RM 管理 Application
- Wireshark嗅探软件
- Unreal学习笔记2-绘制简单三角形
- C#如何提高代码质量(一)
- Dijkstra算法详解(朴素算法+堆优化)
- 二、typora软件的安装与markdown语法
- CentOS即将停止维护,拥抱阿里“龙蜥“(Anolis OS),VMware安装Anolis OS与介绍