网站建设制作鸿运通,做网站能用python吗,5条国内最新新闻,php网站搭建教程雪崩效应 我们把基础服务故障#xff0c;导致上层服务故障#xff0c;并且这个故障不断放大的过程#xff0c;成为雪崩效应。 雪崩效应#xff0c;往往是因为服务没有做好容错造成的。 微服务常见容错方案 仓壁模式 比如让controller有自己独立的线程池#xff0c;线程池满…雪崩效应 我们把基础服务故障导致上层服务故障并且这个故障不断放大的过程成为雪崩效应。 雪崩效应往往是因为服务没有做好容错造成的。 微服务常见容错方案 仓壁模式 比如让controller有自己独立的线程池线程池满了就直接拒绝请求 断路器模式 对api进行监控设置一段时间内的错误率、错误次数。 如果一段时间内达到预值断路器就会打开不去调用远程api了。 断路器模式设计了半开状态远程api恢复后断路器可以再次闭合。 使用Sentinel实现容错 Sentinel是一个实现服务容错的库。 微服务整合sentinel 加依赖无注解、无配置 服务整合Sentinel后通过actuator/sentinel可以访问到 搭建Sentinel控制台 登录账户/密码 sentinel/sentinel 目前控制台上什么都没有在服务配置上整合sentinel的控制台地址 调用服务后再刷新控制台可以看到服务sentinel和ribbon一样都是懒加载的 用SentinelResource注解进行限流和降级 可以把block/fallback抽离出业务代码定义单独类 RestTemplate整合Sentinel 使用SentinelRestTemplate注解 将注解加在服务初始化类上就可以给RestTemplate整合Sentinel了 写测试代码就是使用feign之前的那段代码 查看sentinel控制台-簇点电路 多出来的两行就是SentinelRestTemplate注解支持的。 RestTemplate整合Sentinel还提供了一个开关resttemplate.sentinel.enabled Feign整合Sentinel 只需要添加配置 feign.sentinel.enabled true Sentinel控制台结果和上面整合RestTemplate效果一下 如果服务被流控了不想抛异常 可以在UserCenterFeignClient接口FeignClient注解上指定fallback参数到指定的类上 该类实现UserCenterFeignClient接口 配置sentinel流控规则实现效果是“一个默认用户”而不是抛异常了 Sentinel使用总结