继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Alibaba Sentinel 配置项总结

2019-07-17 23:00:4529084浏览

大目

1实战 · 133手记
TA的实战

前面总结了:

这一节来总结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.enabled Sentinel自动化配置是否生效 true
spring.cloud.sentinel.eager 取消Sentinel控制台懒加载 false
spring.cloud.sentinel.transport.port 应用与Sentinel控制台交互的端口,应用本地会起一个该端口占用的HttpServer 8719
spring.cloud.sentinel.transport.dashboard Sentinel 控制台地址
spring.cloud.sentinel.transport.heartbeat-interval-ms 应用与Sentinel控制台的心跳间隔时间
spring.cloud.sentinel.transport.client-ip 客户端IP
spring.cloud.sentinel.filter.order Servlet Filter的加载顺序。Starter内部会构造这个filter Integer.MIN_VALUE
spring.cloud.sentinel.filter.url-patterns 数据类型是数组。表示Servlet Filter的url pattern集合 /*
spring.cloud.sentinel.filter.enabled Enable to instance CommonFilter true
spring.cloud.sentinel.metric.charset metric文件字符集 UTF-8
spring.cloud.sentinel.metric.file-single-size Sentinel metric 单个文件的大小
spring.cloud.sentinel.metric.file-total-count Sentinel metric 总文件数量
spring.cloud.sentinel.log.dir Sentinel 日志文件所在的目录
spring.cloud.sentinel.log.switch-pid Sentinel 日志文件名是否需要带上pid false
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 指定程序的名称 String null
csp.sentinel.app.type 指定程序的类型 int 0 (APP_TYPE_COMMON) 1.6.0 引入
csp.sentinel.metric.file.single.size 单个监控文件的大小 long 52428800
csp.sentinel.metric.file.total.count 监控文件的总数上限 int 6
csp.sentinel.log.dir Sentinel 日志文件目录 String ${user.home}/logs/csp/ 1.3.0 引入
csp.sentinel.log.use.pid 日志文件名中是否加入进程号,用于单机部署多个应用的情况 boolean false 1.3.0 引入
csp.sentinel.statistic.max.rt 最大的有效响应时长(ms),超出此值则按照此值记录 int 4900ms 1.4.1 引入

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

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

sentinel-transport-common 配置项

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

使用说明

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

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

本文首发

································

欢迎关注课程

打开App,阅读手记
8人推荐
发表评论
随时随地看视频慕课网APP