【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收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
GKPageScrollView是一个UIScrollview嵌套滑动库,主要参考JXPagingView并改进。GKPageSmoothView也用于滑动嵌套。支持上下滑动、左右滑动、手势返回等多种操作。支持UITableView的sectionView悬停效果、多种分页控件。可实现导航栏颜色渐变、头图下拉放大、主页和列表页的下拉刷新和上拉加载等。有手动安装、CocoaPods安装、SwiftPackageManager安装三种方式且针对使用中的常见问题给出了解决办法。该库不断更新完善,对于开发类似微博、抖音、网易云等APP的个人详情页滑动效果很有帮助。