微服务保护-Sentinel

概述

如果一个微服务出现了问题就造成其他连接这个服务也会接连出现问题,就会形成雪崩问题

雪崩问题

雪崩 :就是微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用。
结构图

解决雪崩问题

流量控制

作用:避免因瞬间高并发流量而导致服务故障

熔断降级
舱壁模式
超时模式

认识Sentinel

安装Sentinel控制台

下载

https://github.com/alibaba/Sentinel/releases

1.8的版本支持jdk1.8以上的

启动

命令:java -Dserver.port=8090 -jar sentinel.jar,默认端口号是8080,以防万一被占用就指定端口号

访问

密码和账号默认为都是:sentinel

整合微服务

添加依赖

java 复制代码
<!--sentinel依赖-->
      <dependency>
        <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    <version>2.2.8.RELEASE</version>
</dependency>

修改配置文件

访问

簇点链路


设置簇点链路

解释:1秒钟只能访问一次,次数多了会出现限流提示

流控模式


设置关联模式

创建两个接口

访问


设置链路模式

假设两个接口A,B访问同一个接口C,A访问C时限流,B访问C时不限流。

controller创建两个接口同时访问service层的一个接口

server

默认sentinel只把springmvc(controller【控制层】)的接口作为资源名,如果想让其他层的的方法也作为sentinel的资源,需要使用注解@SentinelResource,需要在配置文件中开启这个注解驱动

修改配置文件

设置关联链路模式

访问

总结

相关推荐
岁岁种桃花儿3 小时前
SpringCloud从入门到上天:分布式和微服务基础
分布式·spring cloud·微服务
java干货8 小时前
<span class=“js_title_inner“>微服务:把一个简单的问题,拆成 100 个网络问题</span>
微服务·云原生·架构
爱吃山竹的大肚肚16 小时前
微服务间通过Feign传输文件,处理MultipartFile类型
java·spring boot·后端·spring cloud·微服务
eso198317 小时前
如何确保程序化广告系统中微服务架构的高可用性和可扩展性?
微服务·云原生·架构
凯子坚持 c19 小时前
C++基于微服务脚手架的视频点播系统---客户端(1)
开发语言·c++·微服务
努力搬砖的咸鱼20 小时前
部署你的第一个应用到 K8s
微服务·云原生·容器·kubernetes
nbsaas-boot1 天前
架构设计怎么做:一套可复用、可落地的方法论
java·开发语言·微服务
小马爱打代码1 天前
Spring Boot:Sentinel 企业级熔断、降级与限流实战
spring boot·后端·sentinel
没有bug.的程序员1 天前
Spring Cloud Sentinel:熔断降级规则配置与分布式流量防线实战终极指南
java·分布式·后端·spring cloud·sentinel·熔断规则·分布式流量防线
梵得儿SHI1 天前
实战项目落地:微服务拆分原则(DDD 思想落地,用户 / 订单 / 商品 / 支付服务拆分实战)
spring cloud·微服务·云原生·架构·微服务拆分·ddd方法论·分布式数据一致性