Sentinel 使用教程
1. 项目目录结构及介绍
请注意,您提供的链接指向的是一个并不存在或不公开的GitHub仓库(https://github.com/yarseyah/sentinel.git),因此我们无法直接访问并分析其具体目录结构和内容。然而,基于Alibaba的Sentinel开源项目的常见结构和一般知识,我可以提供一个通用的Sentinel项目可能拥有的目录结构及其介绍:
├── README.md # 项目说明文档,包括快速入门和核心概念。
├── pom.xml # Maven构建配置文件,定义了项目的依赖和构建规则。
├── src
│ ├── main
│ │ ├── java # 主要Java源代码,包含应用的核心逻辑。
│ │ │ └── com.example # 示例包名,存放自定义业务类。
│ │ ├── resources # 配置文件所在目录。
│ │ │ ├── application.properties # 应用基础配置文件。
│ │ │ └── sentinel # Sentinel相关的配置,如flow-rules.json等。
│ ├── test
│ │ ├── java # 测试代码目录。
│ │ └── resources # 测试相关资源文件。
└── .gitignore # Git版本控制忽略文件列表。
在实际的sentinel
项目中,src/main/java
下的代码将实现业务逻辑,并且通过Sentinel的API来接入流量控制、熔断等功能;而src/main/resources
中的配置文件则用于配置Sentinel的具体规则和其他应用程序设置。
2. 项目的启动文件介绍
在Spring Boot项目中,通常有一个主启动类,它标记有@SpringBootApplication
注解,如下所示:
package com.example.sentinelapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SentinelAppApplication {
public static void main(String[] args) {
SpringApplication.run(SentinelAppApplication.class, args);
}
}
这个SentinelAppApplication.java
是项目的入口点,负责启动整个Spring Boot应用,并且初始化Sentinel的相关功能。
3. 项目的配置文件介绍
application.properties 或 application.yml
配置文件(通常是application.properties或yaml格式的application.yml)用来设定基本的运行参数,也包括Sentinel的连接配置,例如:
spring.application.name=sentinel-app
csp.sentinel.app.type=1 # 应用类型,默认为1(普通应用)
csp.sentinel.dashboard.server= localhost:8080 # Sentinel Dashboard地址
csp.sentinel.api.port=8719 # 若需要暴露监控数据给Dashboard,则需设置该端口
Sentinel特定配置文件
对于Sentinel规则,通常不是直接放在上述基础配置文件中,而是保存在单独的JSON文件或者通过API动态管理。例如,在src/main/resources/sentinel
目录下可能会有多个JSON文件来定义流量规则、系统规则等:
# 假设的flow-rules.json示例
[
{
"resource": "exampleResource",
"count": 1,
"intervalSec": 1,
"strategy": 0
}
]
每个应用具体的配置细节可能会有所不同,但以上给出了一个大致的框架和方向。为了精确指导,建议直接参照所使用的Sentinel版本的官方文档进行配置。