为什么要有微服务保护?
微服务保护是为了避免微服务雪崩而出现的,每个微服务能处理的请求是有限的,如果一个微服务出现问题导致一个请求进入微服务的时间太久,就会导致大量去请求停滞在微服务内部,这样就会过分占用系统资源从而影响到其他的微服务,针对者一问题,Alibaba提供了一个组件----sentinel。
什么是sentinel?
sentinel为我们提供了多种方式去保护我们的微服务安全,比如请求限流、线程隔离、断路器等。
请求限流:通过控制QPS来降低微服务的访问次数,从而达到保护微服务的目的
线程隔离:通过控制Thread线程数量来保证微服务的安全
断路器:当一个微服务的访问频率达到了一定的阈值就会将这个微服务给阻断,在一定的时间之内是禁止访问的。
安装sentinel
下载sentinel安装包
运行sentinel
注册到微服务
查看控制台
1. 下载sentinel
2. 本地启动sentinel
将安装包放置非中文目录,并重命名为
sentinel-dashboard.jar通过cmd启动sentinel
XMLjava -Dserver.port=8090 -Dcsp.sentinel.dashboard.server=localhost:8090 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar3. 访问sentinel控制台
XMLlocalhost:8090将sentinel部署到项目
依赖
XML<!--sentinel--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>配置文件
XMLspring: cloud: sentinel: transport: dashboard: localhost:8090 # sentinel控制台地址 http-method-specify: true # 开启对http 访问前缀的支持比如GET、PUT
微服务保护-sentinel
小汤猿人类2024-12-30 8:54
相关推荐
架构源启7 小时前
文档接入与智能解析:基于 Spring AI 1.1.x 的多格式解析、版面理解与结构化抽取大模型码小白11 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战名字还没想好☜11 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭音符犹如代码12 小时前
后端视角看 EventBus:发布订阅总线的原理、场景与用法前端炒粉12 小时前
手撕小汇总唐青枫12 小时前
Java Kafka 实战指南:从 Topic、分区到 Spring Boot 可靠消息处理脱胎换骨-军哥13 小时前
C++零成本抽象理论深度拆解:现代C++如何在不牺牲性能的前提下提供高级语法封装我是唐青枫13 小时前
Java Netty 实战指南:从 NIO 线程模型到 TCP 编解码和心跳机制小白说大模型13 小时前
从向量嵌入到复杂 Agent:LLM、LangChain、LangGraph 完整科普风起洛阳@不良使15 小时前
springIOC创建对象的方式--spring容器中的注入

