前面总结了:

这一节总结Sentinel的所有配置。

TIPS

本文基于Sentinel 1.6.2编写,未来Sentinel发布新版本后,各位看官可按照本文中的“参考文档”,自行查阅新版本的配置项目。

Spring Cloud Alibaba Sentienl相关配置项

TIPS

参考文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/sentinel.adoc

配置项含义默认值
spring.cloud.sentinel.enabledSentinel自动化配置是否生效true
spring.cloud.sentinel.eager取消Sentinel控制台懒加载false
spring.cloud.sentinel.transport.port应用与Sentinel控制台交互的端口,应用本地会起一个该端口占用的HttpServer8719
spring.cloud.sentinel.transport.dashboardSentinel 控制台地址
spring.cloud.sentinel.transport.heartbeat-interval-ms应用与Sentinel控制台的心跳间隔时间
spring.cloud.sentinel.transport.client-ip客户端IP
spring.cloud.sentinel.filter.orderServlet Filter的加载顺序。Starter内部会构造这个filterInteger.MIN_VALUE
spring.cloud.sentinel.filter.url-patterns数据类型是数组。表示Servlet Filter的url pattern集合/*
spring.cloud.sentinel.filter.enabledEnable to instance CommonFiltertrue
spring.cloud.sentinel.metric.charsetmetric文件字符集UTF-8
spring.cloud.sentinel.metric.file-single-sizeSentinel metric 单个文件的大小
spring.cloud.sentinel.metric.file-total-countSentinel metric 总文件数量
spring.cloud.sentinel.log.dirSentinel 日志文件所在的目录
spring.cloud.sentinel.log.switch-pidSentinel 日志文件名是否需要带上pidfalse
spring.cloud.sentinel.servlet.block-page自定义的跳转 URL,当请求被限流时会自动跳转至设定好的 URL
spring.cloud.sentinel.flow.cold-factor冷启动因子3

Alibaba Sentinel启动配置项

TIPS

参考文档:https://github.com/alibaba/Sentinel/wiki/启动配置项

sentinel-core 配置项

名称含义类型默认值是否必需备注
project.name指定程序的名称Stringnull
csp.sentinel.app.type指定程序的类型int0 (APP_TYPE_COMMON)1.6.0 引入
csp.sentinel.metric.file.single.size单个监控文件的大小long52428800
csp.sentinel.metric.file.total.count监控文件的总数上限int6
csp.sentinel.log.dirSentinel 日志文件目录String${user.home}/logs/csp/1.3.0 引入
csp.sentinel.log.use.pid日志文件名中是否加入进程号,用于单机部署多个应用的情况booleanfalse1.3.0 引入
csp.sentinel.statistic.max.rt最大的有效响应时长(ms),超出此值则按照此值记录int4900ms1.4.1 引入

其中 project.name 项用于指定应用名(appName)。若未指定,则默认从 sun.java.command 中解析出对应的类名作为应用名。实际项目使用中建议指定应用名

注意:若需要在单台机器上运行相同服务的多个实例,则需要加入 -Dcsp.sentinel.log.use.pid=true 来保证不同实例日志的独立性。

sentinel-transport-common 配置项

名称含义类型默认值是否必需
csp.sentinel.dashboard.server控制台的地址,指定控制台后客户端会自动向该地址发送心跳包。地址格式为:hostIp:portStringnull
csp.sentinel.heartbeat.interval.ms心跳包发送周期,单位毫秒longnull非必需,若不进行配置,则会从相应的HeartbeatSender中提取默认值
csp.sentinel.api.port本地启动 HTTP API Server 的端口号intnull是,且不可冲突

使用说明

所有参数均可通过 JVM -D 参数指定。除 project.name 以及日志的配置项(如 csp.sentinel.log.dir)之外,其余参数还可通过 properties 文件指定,路径为 ${user_home}/logs/csp/${project.name}.properties

优先级顺序:JVM -D 参数的优先级最高,若 properties 和 JVM 参数中有相同项的配置,以 JVM -D 参数配置的为准。

最后修改:2022 年 10 月 18 日
如果觉得我的文章对你有用,请点个赞吧~