Sentinel 新版本发布,提升配置灵活性以及可观测配套
内容提要
Sentinel是阿里巴巴开源的流量治理组件,最新版本1.8.7新增多项特性和改进,未来版本将进一步支持流量路由、流量染色与标透传、异常流量调度、预热调权等能力。
延伸解读
正则匹配:批量规则配置的实用改进
1.8.7 版本支持资源名称正则匹配,解决了生产中对一组接口批量配置规则的需求。通过设置 setRegex(true) 并传入如 "/A/.*" 的正则表达式,可让规则同时作用于多个资源,提升配置效率。示例中 /A/a 和 /A/c 均被限流,而 /B/a 不受影响,验证了匹配的准确性。
Prometheus 对接:提升可观测性
此前 Sentinel 指标仅能通过日志或控制台查看,存在诸多弊端。1.8.7 通过扩展方式将指标暴露给 Prometheus,用户需引入 sentinel-prometheus-metric-exporter 插件及 Prometheus 依赖,并在 prometheus.yml 中配置采集任务。这使 Sentinel 融入云原生可观测体系,便于统一监控和告警。
1.8.x 与 2.0 并行演进:平稳过渡策略
官方计划 1.8.x 系列与 2.0 系列保持并行演进。1.8.x 将继续深耕流量防护,优化基础结构、机制和模型,同时向 2.0 平稳过渡。2.0 则升级为流量治理与自愈,扩大场景边界,覆盖服务全生命周期稳定性,并更贴近云原生。这种策略有助于用户按需升级,降低迁移风险。
Q&A
Sentinel 是什么?它主要解决什么问题?
Sentinel 是阿里巴巴集团开源的,面向分布式、多语言异构化服务架构的流量治理组件,承接了阿里巴巴近 15 年的双十一大促流量的核心场景,例如秒杀、冷启动、消息削峰填谷、集群流量控制、实时熔断下游不可用服务等,是保障微服务高可用的利器。
Sentinel 1.8.7 版本有哪些新特性?
Sentinel 1.8.7 版本基于 1.8.6 新增了多项特性和改进,主要包括:支持按照正则匹配资源名称,便于批量配置规则;流量指标支持对接 Prometheus;支持默认熔断规则;重构 RateLimitController,提高准确性并支持 maxQps 阈值大于 1000。
Sentinel 如何实现资源名称的正则匹配?
Sentinel 1.8.7 引入了资源名称支持正则匹配的新特性。在配置流控规则时,可以将资源名设置为正则表达式(如 "/A/.*"),并设置 rule.setRegex(true)。这样,匹配该正则表达式的资源(如 /A/a、/A/c)会应用规则,而不匹配的资源(如 /B/a)则不受影响。
Sentinel 如何对接 Prometheus?
Sentinel 1.8.7 通过扩展方式将指标暴露给 Prometheus。具体步骤:1. 引入 sentinel-prometheus-metric-exporter 插件依赖;2. 引入 Prometheus 的 simpleclient 和 simpleclient_httpserver 依赖;3. 在 Prometheus 的 prometheus.yml 中增加采集配置,指定 Sentinel 暴露指标的端口(需与 csp.sentinel.prometheus.fetch.port 配置一致)。
Sentinel 2.0 计划支持哪些新能力?
Sentinel 2.0 计划由流量防护升级为流量治理与自愈,扩大场景边界,提供统一的流量治理能力与标准化的治理方式,并更加贴近云原生。新能力包括但不限于:流量路由、流量染色与标透传、异常流量调度、预热调权等,从只覆盖运行时稳定性,增加了变更态稳定性治理,覆盖服务全生命周期的稳定性。
Sentinel 1.8.x 系列后续会如何演进?
1.8.x 系列和 2.0 系列将保持并行演进。1.8.x 版本自发布以来,持续深耕流量防护领域,后续还会在流量防护领域保持持续演进,并对一些基础结构、机制以及模型进行优化和重构,在提供更加完善的流量防护能力的同时,向 Sentinel 2.0 版本平稳过渡。