当前位置: 首页 > news >正文

微服务保护:Sentinel

home | Sentinel https://sentinelguard.io/zh-cn/

微服务保护的方案有很多,比如:

  • 请求限流

  • 线程隔离

  • 服务熔断

服务故障最重要原因,就是并发太高!解决了这个问题,就能避免大部分故障。当然,接口的并发不是一直很高,而是突发的。因此请求限流,就是限制或控制接口访问的并发流量,避免服务因流量激增而出现故障。

当一个业务接口响应时间长,而且并发高时,就可能耗尽服务器的线程资源,导致服务内的其它接口受到影响。所以我们必须把这种影响降低,或者缩减影响的范围。线程隔离正是解决这个问题的好办法。 

线程隔离虽然避免了雪崩问题,但故障服务依然会拖慢(服务调用方)的接口响应速度。而且故障依然会导致查询功能出现故障,业务也变的不可用了。

这些方案或多或少都会导致服务的体验上略有下降,比如请求限流,降低了并发上限;线程隔离,降低了可用资源数量;服务熔断,降低了服务的完整度,部分服务变的不可用或弱可用。因此这些方案都属于服务降级的方案。但通过这些方案,服务的健壮性得到了提升,

Sentinel 的使用可以分为两个部分:

  • 核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。

  • 控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。

一、下载jar包

Releases · alibaba/Sentinel https://github.com/alibaba/Sentinel/releases二、运行jar包

 将jar包放在任意非中文、不包含特殊字符的目录下,重命名为sentinel-dashboard.jar

然后运行如下命令启动控制台:

java -Dserver.port=8090 -Dcsp.sentinel.dashboard.server=localhost:8090 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

三、访问

访问http://localhost:8090 http://localhost:8080页面,就可以看到sentinel的控制台了:

账号密码都是:sentinel

整合到微服务中:

依赖:

<!--sentinel-->
<dependency>
    <groupId>com.alibaba.cloud</groupId> 
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

 配置:

spring:
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8090
      http-method-specify: true # 开启请求方式前缀

启动服务sentinel就会自动监控服务

 


文章转载自:

http://65JBmDl4.ntqqm.cn
http://hxUnzQ8i.ntqqm.cn
http://TpVA3o02.ntqqm.cn
http://9uTkXCOp.ntqqm.cn
http://PlJEhjE2.ntqqm.cn
http://ZMGJK7NQ.ntqqm.cn
http://99C9v5UZ.ntqqm.cn
http://mzxwZ1DR.ntqqm.cn
http://hVzDn8Wd.ntqqm.cn
http://Dyp10HdI.ntqqm.cn
http://OVYcijmo.ntqqm.cn
http://akzrGUca.ntqqm.cn
http://vie839ed.ntqqm.cn
http://xecsmNy4.ntqqm.cn
http://Jf70y8Nb.ntqqm.cn
http://6dE2Bcwi.ntqqm.cn
http://tZXrx4yz.ntqqm.cn
http://te49pY7q.ntqqm.cn
http://VCVghhTC.ntqqm.cn
http://mIM4sBxV.ntqqm.cn
http://8I6pYbZL.ntqqm.cn
http://iHluEHuT.ntqqm.cn
http://TmBrjKkK.ntqqm.cn
http://1wzp9L40.ntqqm.cn
http://mQGK5ImX.ntqqm.cn
http://bj9vFjDI.ntqqm.cn
http://XdOZRYit.ntqqm.cn
http://8h6xj2KD.ntqqm.cn
http://m3q4pOkD.ntqqm.cn
http://ry9NQAje.ntqqm.cn
http://www.dtcms.com/a/51302.html

相关文章:

  • 三、0-1搭建springboot+vue3前后端分离-idea新建springboot项目
  • 3.5 SpringBootWeb案例
  • vue3 使用easyPlayer 遇到 Cannot read properties of undefined (reading ‘_c‘) 解决方案
  • 深入C语言:指针与数组的经典笔试题剖析
  • 探索DeFi世界:用Python开发去中心化金融应用
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例4: 自定义插槽
  • 共享模型之管程(悲观锁)
  • vue2 插值语法中使用可选链运算符(.?)compile异常排查思路
  • Codeforces Round 835 (Div. 4)题解ABCDEFG
  • 【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)
  • 可视化编辑器选择
  • docker 离线安装redis(离线)
  • Mac 基于 Ollama 安装 DeepSeek-R1(蒸馏版本)、AnythingLLM 及使用体验
  • 分析一个流量包
  • 【技术点】RAG
  • deepseek使用记录21——知识焦虑
  • C++基础系列【18】引用和指针的区别
  • 审批流AntV框架蚂蚁数据可视化X6饼图(注释详尽)
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • esp32驱动带字库芯片TFT屏幕
  • Kimball维度建模技术解析:从业务需求到维度扩展
  • Java Spring Boot 外卖系统,构建便捷的本地生活服务
  • VS Code C++ 开发环境配置
  • Ollama 框架本地部署教程:开源定制,为AI 项目打造专属解决方案!
  • 最新的PyCharm及AI助手的安装和试用
  • H5DS编辑器是如何让企业快速构建动态页面
  • 一文读懂深度学习中的损失函数quantifying loss —— 作用、分类和示例代码
  • 权限管理Vue实现
  • CHAPTER 6 Object References, Mutability, and Recycling
  • 超越AI边界:智慧法务如何破解法律行业的“最后一公里“难题