一 概述
Sentinel控制台是流量控制,熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现,簇点链路自发现,监控,规则配置等功能。在Sentinel控制台上,我们可以配置规则并实时查看流量控制效果。
客户端接入 -> 机器自发现 -> 查看簇点链路 -> 配置流控规则 -> 查看流控效果
二 Sentinel控制台的功能
1 机器自发现:Sentinel提供内置的机器自发现功能,无需依赖第三方服务发现组件即可实现客户端的发现。
2. 簇点链路自发现:Sentinel将每个需要流控的URL或者接口称为一个资源,并使用URL地址或方法签名表示资源。Sentinel会自动发现所有潜在的资源和资源之间的调用链,并在“簇点链路”页面展示。资源是设置流控规则的载体,通过簇点链路自发现,可以方便的对重要资源设置流控规则,熔断降级规则等。
3. 实时监控:Sentinel监控功能能够实时查看集群中每个资源的实时访问以及流控情况。
二 限制
本控制台只是用于演示Sentinel的基本能力和工作流程,并没有依赖生产环境所需的组件,比如持久化的后端数据库,可靠的配置中心等。
目前Sentinel采用内存态的方式存储监控和规则数据,监控最长存储时间为5分钟,控制台重启后数据丢失。
三 配置项
控制台的一些特性可以通过配置项来进行配置,配置项的主要有两个来源:System.getProperty()和System.getenv(),同时存在时后者可以覆盖前者。
通过环境配置进行配置时,因为不支持.所以需要将其更换为_。
项 | 类型 | 默认值 | 最小值 | 描述 |
sentinel.dashboard.auth.username | String | sentinel | 无 | 登录控制台的用户名,默认为sentinel |
sentinel.dashboard.auth.password | String | sentinel | 无 | 登录控制台的密码,默认为sentinel |
sentinel.dashboard.app.hideAppNoMachineMillis | Integer | 0 | 60000 | 是否隐藏无健康节点的应用,距离最近一次主机心跳时间的毫秒数,默认关闭 |
sentinel.dashboard.removeAppNoMachineMillis | Integer | 0 | 120000 | 是否自动删除无健康节点的应用,距离最近一次其下节点的心跳时间毫秒数,默认关闭 |
sentinel.dashboard.unhealthyMachineMillis | Integer | 60000 | 30000 | 主机失联判断,不可关闭 |
sentinel.dashboard.autoRemoveMachineMillis | Integer | 0 | 300000 | 距离最近心跳时间超过指定时间是否自动删失联节点,默认关闭 |
命令行配置示例:
java -Dsentinel.dashboard.app.hideAppNoMachineMillis=60000
Java配置示例:
System.setProperty("sentinel.dashboard.app.hideAppNoMachineMillis", "60000");
环境变量配置示例:
sentinel_dashboard_app_hideAppNoMachineMillis=60000
根据上述内容初步了解了Sentinel控制台的功能。