微服务保护-sentinel

为什么要有微服务保护?

微服务保护是为了避免微服务雪崩而出现的,每个微服务能处理的请求是有限的,如果一个微服务出现问题导致一个请求进入微服务的时间太久,就会导致大量去请求停滞在微服务内部,这样就会过分占用系统资源从而影响到其他的微服务,针对者一问题,Alibaba提供了一个组件----sentinel。

什么是sentinel?

sentinel为我们提供了多种方式去保护我们的微服务安全,比如请求限流、线程隔离、断路器等。

请求限流:通过控制QPS来降低微服务的访问次数,从而达到保护微服务的目的

线程隔离:通过控制Thread线程数量来保证微服务的安全

断路器:当一个微服务的访问频率达到了一定的阈值就会将这个微服务给阻断,在一定的时间之内是禁止访问的。

安装sentinel

  1. 下载sentinel安装包

  2. 运行sentinel

  3. 注册到微服务

  4. 查看控制台


1. 下载sentinel

home | Sentinel官网

2. 本地启动sentinel

将安装包放置非中文目录,并重命名为 sentinel-dashboard.jar

通过cmd启动sentinel

XML 复制代码
java -Dserver.port=8090 -Dcsp.sentinel.dashboard.server=localhost:8090 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

3. 访问sentinel控制台

XML 复制代码
localhost:8090

将sentinel部署到项目

依赖

XML 复制代码
<!--sentinel-->
<dependency>
    <groupId>com.alibaba.cloud</groupId> 
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

配置文件

XML 复制代码
spring:
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8090 # sentinel控制台地址
      http-method-specify: true # 开启对http 访问前缀的支持比如GET、PUT
相关推荐
弹简特8 分钟前
【JavaEE10-后端部分】SpringMVC05-综合案例1-从加法计算器看前后端交互:接口文档与HTTP通信详解
java·spring boot·spring·http
予枫的编程笔记22 分钟前
【Kafka进阶篇】Kafka延迟请求处理核心:时间轮算法拆解,比DelayQueue高效10倍
java·kafka·高并发·时间轮算法·delayqueue·延迟任务·timingwheel
西门吹雪分身25 分钟前
JUC之公平锁与非公平锁
java·并发·juc·
张铁铁是个小胖子33 分钟前
mysql事务的隔离性如何保证
java·开发语言
lonelyhiker33 分钟前
新版idea的structure卡顿
java·ide·intellij-idea
没有bug.的程序员35 分钟前
依赖治理之巅:Maven 与 Gradle 依赖树分析内核、冲突判定博弈与工程自愈实战指南
java·gradle·maven·依赖治理·冲突判定·依赖树
毕设源码-邱学长36 分钟前
【开题答辩全过程】以 前缘农产品销售系统的设计与实现为例,包含答辩的问题和答案
java
程序员南飞41 分钟前
排序算法举例
java·开发语言·数据结构·python·算法·排序算法
笨蛋不要掉眼泪44 分钟前
Spring Cloud Gateway 核心篇:深入解析过滤器(Filter)机制与实战
java·服务器·网络·后端·微服务·gateway
笨蛋不要掉眼泪1 小时前
Spring Cloud Gateway 扩展:全局跨域配置
java·分布式·微服务·架构·gateway