风暴俱乐部|Sentinel:分布式系统流量防卫兵( 三 )
/** * 该类处理流控、降级的自定义返回 */@Componentpublic class UserCenterFeignClientFallback implements UserCenterFeignClient {@Overridepublic UserDTO findById(Integer id) {UserDTO userDTO = new UserDTO();userDTO.setWxNickname("默认用户");return userDTO;}}//name = "user-center" 表示调用的服务名称@FeignClient(name = "user-center",fallback = UserCenterFeignClientFallback.class)public interface UserCenterFeignClient {/*** 根据ID查询用户信息 , feign会自动帮我们转成* http://user-center/users/{id}** @param id* @return*/@GetMapping("/users/{id}")UserDTO findById(@PathVariable("id") Integer id);}
八、Sentinel 规则持久化两种模式及生产环境使用前面我们在Sentinel控制台配置规则之后 , 只要我们重启应用 , 规则就会丢失 , 这显然是不能在生产环境使用的 , 那么有什么解决办法呢?1、推模式:扩展读数据源(ReadableDataSource) , 规则中心统一推送 , 客户端通过注册监听器的方式时刻监听变化 , 比如使用 Nacos、Zookeeper 等配置中心 。 这种方式有更好的实时性和一致性保证 。 生产环境下一般采用 push 模式的数据源 。
2、拉模式:扩展写数据源(WritableDataSource) ,客户端主动向某个规则管理中心定期轮询拉取规则 , 这个规则中心可以是 RDBMS、文件等 。
具体使用大家还是看看官方文档(在生产环境中使用-Sentinel)比较全面详细 , 这里我说一下第三种也就是使用阿里云ahas在生产环境使用Sentinel 。
3、生产环境使用Sentinel首先注册一个阿里云账号 , 然后访问
我们按照这个文档进行整合(1)、加依赖
(2)、加配置
ahas.namespace: defaultproject.name: content-center
ok , 此时我们请求接口然后去阿里云控制台看看:
好了 , Sentinel的学习就到这里了 , 喜欢的小伙伴记得点赞哦 。
下一篇 , 阿七将带大家深入研究消息服务RocketMQ , 关注阿七 , 持续为您带来更多更好的文章 。
- M体育地带|青春风暴!意媒排出米兰U23首发阵容
- 国内赛事|最具眼光的俱乐部!IG.Y再次夺得夏季赛冠军 焕烽发文祝贺
- 维特尔维斯塔潘|青春风暴席卷F1意大利站领奖台 加斯利能跟随维特尔维斯塔潘的步伐吗?
- 青年|兰陵王:我打不过风暴龙王,凯:我勉强打得过。他:这不难很轻松
- 舌尖尝美食美味|7000万欧!曼城即将签约意甲铁卫,双方达个人协议只差俱乐部点头
- 【】为避免与心爱俱乐部对簿公堂 梅西宣布暂留巴萨一年
- 淘易家居|梅杰里签约北控,李洪庆却“拆东墙补西墙”,俱乐部引援自相矛盾
- 参考消息网|梅西宣布暂留巴萨一年,为避免与心爱俱乐部对簿公堂
- 巴萨俱乐部|又一个贝尔?33岁巨星同意与巴萨解约!提1要求:必须补偿4900万薪水
- 飞象新零售俱乐部第51期游学之走进直播基地,抓住蓝海商机