Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
Springboot+Dubbo+Nacos 集成 Sentinel(入门)-CSDN博客
系统保护规则是从应用级别的入口流量进行控制,从单台机器的总体 Load、RT、线程数、入口 QPS 和CPU使用率监控应用数据,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。
系统保护规则是应用整体维度的,而不是资源维度的,并且仅对入口流量生效。入口流量指的是进入应用的流量(EntryType.IN),比如 Web 服务或 Dubbo 服务端接收的请求,都属于入口流量。
系统规则 (SystemRule)包含下面几个重要的属性:
Field | 说明 | 默认值 |
---|---|---|
highestSystemLoad | Load触发值,用于触发自适应控制阶段 | -1 (不生效) |
avgRt | 所有入口流量的平均响应时间 | -1 (不生效) |
maxThread | 入口流量的最大并发数 | -1 (不生效) |
qps | 所有入口资源的 QPS | -1 (不生效) |
highestCpuUsage | 当前系统的 CPU 使用率(0.0-1.0) | -1 (不生效) |
持久化Json数据格式
- [
- {
- "highestSystemLoad": -1,
- "avgRt": -1,
- "maxThread": -1,
- "qps": 100,
- "highestCpuUsage": -1
- }
- ]
- spring:
- application:
- name: user
- cloud:
- nacos:
- config:
- server-addr: 127.0.0.1:8848
- prefix: dubbo-user-api
- file-extension: yml
- sentinel:
- transport:
- dashboard: 127.0.0.1:6780
- eager: true # 取消懒加载
- datasource:
- ds-user-system-rule:
- nacos:
- server-addr: 127.0.0.1:8848
- dataId: user-system-rule
- groupId: user-sentinel
- namespace: sentinel
- rule-type: SYSTEM # AUTHORITY(授权规则) DEGRADE(熔断规则) FLOW(流控规则) GW_API_GROUP GW_FLOW PARAM_FLOW(热点规则) SYSTEM(系统规则)