微服务保护-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,需要在配置文件中开启这个注解驱动

修改配置文件

设置关联链路模式

访问

总结

相关推荐
努力搬砖的咸鱼4 小时前
一个域名搞定前后端:用 Ingress 配置 / 和 /api 路由
微服务·云原生·容器·架构·kubernetes
Coder_Boy_5 小时前
Java(Spring AI)传统项目智能化改造——商业化真实案例(含完整核心代码+落地指南)
java·人工智能·spring boot·spring·微服务
笨蛋不要掉眼泪17 小时前
从零构建微服务网关:Spring Cloud Gateway 核心原理与实战配置详解
java·微服务·云原生·架构
悠闲蜗牛�17 小时前
下一代API网关深度实践:基于Spring Cloud Gateway的云原生网关架构与治理平台
微服务·云原生·架构
笨蛋不要掉眼泪18 小时前
Spring Cloud Gateway 核心实战:断言(Predicate)的长短写法与自定义工厂详解
java·前端·微服务·架构
悠闲蜗牛�18 小时前
Kubernetes从零到集群:本地Minikube环境搭建与Spring Cloud微服务运维实战
spring cloud·微服务·kubernetes
canjun_wen2 天前
Nacos框架整合 04,K8s环境下部署Nacos集群:容器化微服务架构实践
spring cloud·微服务
小小工匠2 天前
极客防御美学:在微服务架构中落地 PoW 工作量证明与防重放机制
微服务·云原生·架构·pow
indexsunny2 天前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景的应用
java·spring boot·微服务·面试·kafka·prometheus·电商
切糕师学AI2 天前
RabbitMQ 是什么?
微服务·消息队列·rabbitmq