您的位置:首页 > 健康 > 美食 > 建设工程合同属于专属管辖吗_快站公众号_成都营销推广公司_企业网站有哪些类型

建设工程合同属于专属管辖吗_快站公众号_成都营销推广公司_企业网站有哪些类型

2025/1/4 15:55:25 来源:https://blog.csdn.net/a1241436267/article/details/144811583  浏览:    关键词:建设工程合同属于专属管辖吗_快站公众号_成都营销推广公司_企业网站有哪些类型
建设工程合同属于专属管辖吗_快站公众号_成都营销推广公司_企业网站有哪些类型

请求限流:控制QPS来达到限流的目的

线程隔离:控制线程数量来达到限流的目录

本地回调:当线程被限流、隔离、熔断之后、就不会发起远程调用、而是使用本地已经准备好的回调去提醒用户

服务熔断:熔断也叫断路器,当失败、或者异常等情况达到了一定的阈值,就会进入断路器

请求限流

在了解请求限流需要先知道什么是QPS,QPS就是指每秒最大的并发量,也就是每秒最多接受多少个请求。


登录控制台可以看见四个小按键,第一个就是设置限流和线程隔离的

直接在这里设置单机阈值即可

线程隔离

线程隔离这个线程并不是指用户,而是机器内部的线程,用于处理资源的,具体操作与请求限流类似

与请求限流类似

本地回调

当出现被限流、隔离的情况,会造成用户的体验不佳,无法得到提示,这个时候就需要有一个本地的回调,如果发生错误、异常等情况,服务被隔离无法访问的情况下,就不再去掉哟其他服务,而是直接调用本地事先准备好的回调去提示用户。


实现

在远程调用client包下创建一个子包fallback,之后的回调都会在这个包下


一般命名是根据远程调用的名字后面加上FallbackFactory,比如我的远程调用类为UserClient,那么回调就是UserClientFallbackFactory


将交给spring管理
 @Beanpublic CartClientFallbackFactory itemClientFallback(){return new CartClientFallbackFactory();}

除了这个还需要去实现回调工厂的接口FallbackFactory<?>,泛型就是需要创建本地回调的远程服务比如FallbackFactory<CartClient>

public class CartClientFallbackFactory implements FallbackFactory<CartClient>

然后实现CartClient中的方法,每个方法都需要重写并且提供默认值(返回值)

package com.hmall.api.client.fallback;import com.hmall.api.client.CartClient;
import org.springframework.cloud.openfeign.FallbackFactory;
import java.util.Collection;/*** CartClient的回退工厂类* 当调用购物车服务失败时,会使用本工厂产生的回退对象进行容错处理*/
public class CartClientFallbackFactory implements FallbackFactory<CartClient> {/*** 创建CartClient的回退实例* * @param cause 引发回退的异常,可用于日志记录或条件判断* @return 一个CartClient的实现,用于在远程调用失败时提供备选方案*/@Overridepublic CartClient create(Throwable cause) {return new CartClient() {/*** 删除购物车中指定的商品* * @param ids 要删除的商品ID集合* 注意:此方法在回退场景下仅提供日志输出,不执行实际的删除操作*/@Overridepublic void deleteCartItemByIds(Collection<Long> ids) {System.out.println("删除购物车失败");}};}
}

服务熔断

实现

直接在控制台实现即可

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com