微服务保护-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
相关推荐
小许学java5 小时前
Spring事务和事务传播机制
java·数据库·spring·事务
大学生资源网5 小时前
基于Javaweb技术的宠物用品商城的设计与实现(源码+文档)
java·mysql·毕业设计·源码·springboot
汤姆yu5 小时前
基于springboot的热门文创内容推荐分享系统
java·spring boot·后端
星光一影5 小时前
教育培训机构消课管理系统智慧校园艺术舞蹈美术艺术培训班扣课时教务管理系统
java·spring boot·mysql·vue·mybatis·uniapp
lkbhua莱克瓦245 小时前
MySQL介绍
java·开发语言·数据库·笔记·mysql
武昌库里写JAVA5 小时前
在iview中使用upload组件上传文件之前先做其他的处理
java·vue.js·spring boot·后端·sql
董世昌415 小时前
什么是事件冒泡?如何阻止事件冒泡和浏览器默认事件?
java·前端
好度5 小时前
配置java标准环境?(详细教程)
java·开发语言
teacher伟大光荣且正确5 小时前
关于Qt QReadWriteLock(读写锁) 以及 QSettings 使用的问题
java·数据库·qt
nightseventhunit5 小时前
base64字符串String.getByte导致OOM Requested array size exceeds VM limit
java·oom