随笔分类 - 微服务保护
高级服务框架
摘要:线程隔离(舱壁模式) 1.线程隔离的实现方式 线程隔离有两种方式实现: 线程池隔离 信号量隔离(Sentinel默认采用) 线程池隔离:给每个服务调用业务分配一个线程池,利用线程池本身实现隔离效果 信号量隔离:不创建线程池,而是计数器模式,记录业务使用的线程数量,达到信号量上限时,禁止新的请求。 2
阅读全文
摘要:feign整合sentinel SpringCloud中,微服务调用都是通过Feign来实现的,因此做客户端保护必须整合Feign和Sentinel。 一、修改配置,开启sentinel功能 修改OrderService的application.yml文件,开启Feign的Sentinel功能: #
阅读全文
摘要:##1.流控模式 ##在添加限流规则时,点击高级选项,可以选择三种流控模式: 直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式 关联:统计与当前资源相关的另一个资源,当关联的资源触发阈值时,对当前资源限流 链路:统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流 ##
阅读全文
摘要:#流量控制 ##1.簇点链路 当请求进入微服务时,首先会访问DispatcherServlet,然后进入Controller、Service、Mapper,这样的一个调用链就叫做簇点链路。 簇点链路中被监控的每一个接口就是一个资源,默认情况下sentinel会监控SpringMVC的每一个端点(En
阅读全文
摘要:#Sentinel介绍和安装 Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.html ##1.安装Sentinel ###1.1下载 sentinel官方提供了UI控制台,方便我们对系统做限流设置。大家可以
阅读全文
摘要:#1.雪崩问题及解决方案 ##1.1微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务 ###如图,如果服务提供者D发生了故障,当前的应用的部分业务因为依赖于服务D,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。 ##1.2但是,依赖服务D的业务请求被阻塞,用户不会得
阅读全文