Windows 体系安装 Sentinel 详细教程
在当代软件开辟和微服务架构中,Sentinel 是一款由阿里巴巴开源的流量控制和体系防护框架。它可以或许资助开辟者掩护体系免受高并发流量打击,实现熔断降级、流量整形等功能。本文将详细先容如安在 Windows 体系上安装和设置 Sentinel,并连合实际案例演示其使用方法。
一、什么是 Sentinel?
Sentinel 是阿里巴巴开源的一款用于微服务流量控制和体系防护的中心件。它的重要功能包罗:
- 流量控制(Flow Control):限定体系的 QPS 或线程数,防止因流量过大导致体系瓦解。
- 熔断降级(Circuit Breaker):当某个服务或接口调用失败率过高时,主动堵截调用链路,制止故障扩散。
- 体系负载掩护(System Protection):根据体系的团体负载环境动态调解流量,确保体系稳固运行。
- 及时监控
与规则动态调解:支持通过 Web 控制台对流量规则进办法态设置和监控 。
Sentinel 广泛应用于 Spring Cloud、Dubbo 等微服务框架中,是构建高可用体系的告急工具。
二、安装前的准备
在开始安装 Sentinel 之前,请确保您的环境满足以下条件:
1. 硬件要求
- CPU:发起双核及以上。
- 内存:至少 4GB 可用内存。
- 磁盘空间:至少 500MB 的可用磁盘空间。
2. 软件要求
- 操纵体系:Windows 10/11 或更高版本。
- Java 开辟工具包(JDK):发起使用 JDK 11 或更高版本。
- Maven:用于构建和管理项目。
- 数据库(可选):如果必要长期化规则,可以安装 MySQL 或其他兼容数据库。
- 欣赏器:用于访问 Sentinel 控制台。
三、安装步调
1. 安装 JDK
起首,确保您的体系已安装 JDK 11 或更高版本。可以通过以下下令查抄 JDK 是否已精确安装:
如果没有安装,请从 Oracle 官网 或 OpenJDK 官网 下载并安装恰当您操纵体系的 JDK 版本。
安装完成后,设置环境变量 JAVA_HOME,并将 %JAVA_HOME%\bin 添加到体系的 PATH 中。
2. 下载 Sentinel 控制台
Sentinel 提供了一个独立的控制台模块,用于管理和监控 规则。您可以从 Sentinel 的官方 GitHub 堆栈下载最新版本的控制台代码:
https://github.com/alibaba/Sentinel/releases/tag/1.8.8
GitHub Releases 页面 下载压缩包。
3. 启动 Sentinel 控制台
使用以下下令启动 Sentinel 控制台:
- java -Dserver.port=8080 -jar sentinel-dashboard-1.8.8.jar
复制代码
默认环境下,Sentinel 控制台的登任命户名和暗码均为 sentinel。如果您盼望修改默认根据,可以在启动下令中添加以下参数:
- -Dauth.username=your_username
- -Dauth.password=your_password
复制代码 完备示例
- java -Dserver.port=8858 -Dauth.username=sentinel -Dauth.password=90S*ESnsuTu -jar sentinel-dashboard-1.8.8.jar
复制代码 启动乐成后,您可以通过欣赏器访问 http://localhost:8080,输入用户名和暗码登录控制台。
5. 设置 Sentinel 客户端
接下来,在您的微服务项目中集成 Sentinel 客户端。以下是基于 Spring Boot 的示例步调:
(1)添加依赖
在项目的 pom.xml 文件中添加以下依赖:
- <dependency>
- <groupId>com.alibaba.csp</groupId>
- <artifactId>sentinel-core</artifactId>
- <version>1.8.6</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
- <version>2021.1</version>
- </dependency>
复制代码 (2)设置文件
在 application.yml 文件中添加以下设置:
- spring:
- cloud:
- sentinel:
- transport:
- dashboard: localhost:8080 # 指定 Sentinel 控制台地址
复制代码 (3)界说限流规则
创建一个简朴的控制器,演示如作甚某个接口设置限流规则:
- import com.alibaba.csp.sentinel.annotation.SentinelResource;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RestController;
- @RestController
- public class TestController {
- @GetMapping("/test")
- @SentinelResource(value = "test", blockHandler = "handleException")
- public String test() {
- return "Hello, Sentinel!";
- }
- public String handleException(BlockException ex) {
- return "Oops! The request has been limited.";
- }
- }
复制代码 (4)启动应用
启动您的 Spring Boot 应用步伐后,访问 http://localhost:8080,您应该可以或许在 Sentinel 控制台中看到该应用的流量统计信息。
四、功能测试
1. 流量控制测试
在 Sentinel 控制台中,导航到“流量控制”页面,为 /test 接口设置以下规则:
- 资源名称:test
- 阈值范例:QPS
- 单机阈值:1
生存规则后,实验快速多次访问 /test 接口。当哀求凌驾设定的 QPS 限定时,您将收到限流提示。
2. 熔断降级测试
在“熔断降级”页面中,为某个接口设置熔断规则。比方,当接口调用失败率到达 50% 时触发熔断。
测试方法:模仿接口调用失败场景,观察是否触发熔断逻辑。
五、高级功能
1. 规则长期化
为了确保规则在重启后仍旧见效,您可以将规则存储到数据库中。Sentinel 提供了对 MySQL 的支持,您只需在控制台中启用干系插件即可。
2. 自界说扩展
Sentinel 支持通过 SPI(Service Provider Interface)机制举行自界说扩展。比方,您可以编写自界说的流量统计逻辑或规则加载器。
六、常见标题及办理方法
1. 控制台无法启动
大概缘故原由:
办理方法:
- 查抄端口占用环境,更换端标语。
- 确保使用精确的 JDK 版本。
2. 客户端无法毗连控制台
大概缘故原由:
办理方法:
- 查抄 application.yml 文件中的 transport.dashboard 设置。
- 关闭防火墙或添加例外规则。
七、Docker 下令安装
拉取 Sentinel 的 Docker 镜像
- docker pull sentinelofficial/sentinel-dashboard:latest
复制代码 运行 Sentinel 容器
- docker run -d --name sentinel-dashboard \
- -p 8080:8080 \
- sentinelofficial/sentinel-dashboard:latest
复制代码 八、总结
通过本文的详细教程,您已经学会了如安在 Windows 体系上安装和设置 Sentinel,并完成了根本的功能测试。Sentinel 是构建高可用微服务体系的告急工具,把握其使用方法将为您的项目带来显着的代价。
如果您在安装或使用过程中遇到任何标题,接待查阅 Sentinel 的官方文档 https://sentinelguard.io/zh-cn/docs/introduction.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|