// 在getUserById方法出现故障时执行getUserFallBack方法@HystrixCommand(fallbackMethod = "getUserFallBack")@GetMapping(value=https://www.isolves.com/it/cxkf/kj/2022-04-18/"getUserNameById")public String getUserById(Long id){return UserService.selectById(id);}public String getUserFallBack(){return "请稍后再试";}6.3 熔断、降级、限流处理服务#熔断:直接切断服务的调用降级:牺牲非核心业务保证核心服务的正常
限流:服务访问量达到阈值后拒绝多余的调用
7、Zuul网关#? Zuul是一个微服务网关 。网关:是一个网络系统的前置入口 。也就是说要想访问一个有网关的网络系统请求相应的服务 , 需要先进入网关 , 然后路由到相应的服务 。
? 通常是组成一个系统的微服务很多、或者有权限要求时需要用到网关 。
7.1 网关的作用#
- 统一入口
- 为全部的服务提供一个统一的入口 , 将内外隔离 , 保障了服务的安全性
- (如:多个微服务组成的系统拥有一个统一的请求入口)
- 鉴权校验
- 识别每一个请求的权限 , 拒绝不符合要求的请求
- (如:校验用户的请求权限)
- 动态路由
- 动态地将请求路由到不同的后端集群中
- 减少耦合
- 减少客户端和服务端的耦合程度 , 使得服务可以独立发展 , 通过网关层来映射
? ZuulFilter包含的抽象方法:filterType、filterOrder、shouldFilter、run
- filterType
- 返回一个字符串 , 代表过滤器的类型
- pre:前置过滤 , 在请求路由之前执行 , 如:身份认证、日志记录等
- router:在路由执行后 , 服务调用前被调用
- error:处理请求发生错误时调用
- post:请求到达服务之后执行 , 如:添加响应头 , 记录响应日志

文章插图
- filterOrder
- 过滤器的执行顺序 , 数值越小 , 优先级越高
- shouldFilter
- 是否执行该过滤器 , true , false
- run
- 执行相关业务逻辑
灰度发布:在进行产品研发时 , 新版本的发布可能存在一定的风险 , 那么让一部分用户继续使用A特性 , 并且提供B特性让部分用户使用 , 如果B特性口碑良好 , 产品稳定 , 就可以逐渐进行用户的迁移 。灰度发布保证发生问题可以及时解决 。就像是打游戏有个测试版本 , 如果测试用户对该版本满意 , 则可以继续发布到正式 , 用户不满意就能及时补救 , 反正没有发布到正式 。作用:
- 集中管理配置文件
- 在服务运行期间实现动态的配置刷新
- 实现属性值的加密解密
- 可以实现基于GIT进行版本管理
- 中心化管理
- 不限语言
- 灵活的版本控制
https://www.cnblogs.com/william-m/p/16153557.html
推荐阅读
- 简述C语言的三个标准:ANSI/ISO C99 C11
- 蒙特卡洛树搜索入门教程
- 新手使用mac电脑教程?mac电脑新手入门教程?
- C++基础入门
- 网络工程师快速入门---网络架构及传输介质详解
- 怎么开网店新手入门 自己如何开网店详细步骤
- grpc的入门使用
- 可以秒杀全场的SpringCloud微服务电商实战项目,文档贼全
- 简述淘宝网店的流量来源有哪些渠道 淘宝的流量来源
- 使用Clover安装macOS入门指南
