【Github】项目名:alibaba/Sentinel:面向云原生微服务的高可用流控防护组件
一、项目简介
随着分布式系统日益流行,服务间的可靠性变得前所未有的重要。Sentinel以“流”为突破点,在流控、流量整形、并发限制、熔断以及系统自适应过载保护等多个领域开展工作,为微服务保障可靠性和弹性。它具有丰富的适用场景,在阿里巴巴被广泛应用,过去10年几乎覆盖了双11购物节的所有核心场景,像需要限制突发流量以满足系统容量的“秒杀”场景、消息削峰填谷、对不可靠的下游服务进行熔断、集群流控等。同时,它提供实时监控能力,能实时查看单机运行时信息,还能查看少于500个节点的集群的聚合运行时信息。Sentinel有着广泛的开源生态系统,与Spring Cloud、gRPC、Apache Dubbo和Quarkus等常用框架和库有开箱即用的集成,支持Java、Go、C++和Rust多语言,提供易于使用的SPI扩展接口用于定制逻辑。
二、核心技术
Sentinel以“流”为核心开展工作,通过相关算法和机制实现流控、流量整形等功能。在流控方面,可设置如QPS(每秒查询率)等规则来限制资源的访问次数,像定义规则限制资源每秒最多访问20次(List rules = new ArrayList<>(); FlowRule rule = new FlowRule(); rule.setResource(“HelloWorld”); rule.setCount(20); rule.setGrade(RuleConstant.FLOW_GRADE_QPS); rules.add(rule); FlowRuleManager.loadRules(rules);)。其提供了SPI扩展接口方便用户快速定制逻辑,如自定义规则管理、适配数据源等。在与其他框架和库集成方面,针对Spring Cloud、Apache Dubbo、gRPC、Quarkus、Spring WebFlux、Reactor等都有相应的集成模块,只需简单添加适配器依赖就可使用。
三、项目总结
Sentinel是一个功能强大的面向云原生微服务的高可用流控防护组件。无论是其丰富的功能、广泛的适用场景,还是开源生态系统都表现出色。希望使用过该项目的朋友可以在这里留言分享使用场景等内容,让Sentinel变得更好。也欢迎大家添加自己的博客文章、教程、演示或定制组件的链接到Awesome Sentinel。
项目地址
数据统计
数据评估
本站链氪巴士提供的alibaba/Sentinel:面向云原生微服务的高可用流控防护组件都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月5日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。