jar 下载:github.com/alibaba/Sen…
启动参数
# 将控制台自身接入到sentinel
nohup java -jar -Dproject.name=sentinel-dashboard -Dcsp.sentinel.dashboard.server=localhost:8181 sentinel-dashboard-1.8.5.jar --server.port=8181 &> sentinel.log &
# -Dsentinel.dashboard.auth.username=sentinel
# -Dsentinel.dashboard.auth.password=sentinel
控制台页面
心跳时间
通过多次刷新页面,发现默认每隔10秒发送一次心跳。
规则下发
端口配置会在应用对应的机器上启动一个 Http Server ,该 Server 会与 Sentinel 控制台 做交互。
比如 Sentinel 控制台添加了一个限流规则,会把规则数据 push 给这个 Http Server 接收,Http Server 再将规则注册到 Sentinel 中。
pom
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
2.2.3.RELEASE
com.alibaba.cloud
spring-cloud-starter-alibaba-sentinel
2021.1
yaml
spring:
application:
name: cloud-alibaba-sentinel
cloud:
nacos:
discovery:
enabled: true
server-addr: 0.0.0.0:8848
namespace: 9862bd7f-2dc2-47a4-9c80-c6290c5c3e2b
metadata:
management:
context-path: ${server.servlet.context-path}/actuator
config:
enabled: false
# namespace:
# group:
sentinel:
transport:
dashboard: localhost:8181
port: 8182
# clientIp: localhost
本地连接服务器的sentinel,能注册上但是没有实时监控也没有链路,换了版本也不行。
最后还是用的本地sentinel,如果有知道解决方法的可以评论。
名词解释
流控测试
来看一下熔断规则的这些字段:
该配置将要达到的效果是: 1秒(1000ms)内达到10个请求以上,当响应时长超过0.5秒的请求数量大于1(10 * 0.1)个的时候进行熔断,熔断5秒后变成 Half Open 状态,即5秒后的第一个请求若没有问题则恢复正常,否则继续熔断。 这是一个 慢调用比例 的熔断策略。
在 Sentinel DashBoard 上配置的规则只存在缓存中,当项目重启,这些规则就消失了。如何持久化配置信息呢?
Sentinel 提供多种不同的数据源来持久化规则配置,包括 File ,Redis 、Nacos 、ZooKeeper 等。
pom
com.alibaba.cloud
spring-cloud-alibaba-sentinel-datasource
com.alibaba.csp
sentinel-datasource-nacos
流量控制规则(FlowRule)
熔断降级规则 (DegradeRule)
示例
[
{
"resource": "/user/findById",
"limitApp": "default",
"grade": 1,
"count": 2,
"strategy": 0,
"controlBehavior": 0,
"clusterMode": false
}
]
yaml
spring:
application:
name: cloud-commerce-user
# zipkin:
# # sender:
# # type: kafka # 默认是 web
# base-url: http://101.43.160.149:9411/
cloud:
nacos:
discovery:
enabled: true
server-addr: 0.0.0.0:8848
namespace: 123
metadata:
management:
context-path: ${server.servlet.context-path}/actuator
sentinel:
transport:
# 101.43.138.173
dashboard: localhost:8181
port: 8182
# clientIp: localhost
datasource:
nacos: # 这个名字任意起
nacos:
serverAddr: 0.0.0.0:8848
groupId: DEFAULT_GROUP
dataId: cloud-sentinel-rule
namespace: 123
ruleType: flow
data-type: json
发布配置之后重启项目,访问流控的资源,规则就会被拉取到 sentinel-dashbroad 。
在 nacos 更改配置,也会实时更新。
大佬改造之后的 dashboard :github.com/CHENZHENNAM…
留言与评论(共有 0 条评论) “” |