Sentinel 阿里中间件团队开源的,面向分布式服务架构的轻量级流量控制框架,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。

近日,阿里中间件开源组件Sentinel 发布首个官方推荐可生产版本:1.3.0-GA ,该版本包括 Sentinel 控制台功能的完善和一些 bug 修复,以及其它的产品改进,是一个具有里程碑意义的生产可用版本。

Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,完美地保障了阿里巴巴历年双十一的稳定性,因此从开源之初即具备生产可用的能力。Sentinel 开源三个月以来,受到开源社区的广泛关注,目前已有多个企业用户在生产环境中使用,得到了用户的一致好评,Github社区star数突破3000。

  • 2012 年,Sentinel 诞生于阿里巴巴集团内部,主要功能为入口流量控制;
  • 2013 - 2018 年,Sentinel 在阿里巴巴集团内部迅速发展,成为基础技术模块,覆盖了所有的核心场景。Sentinel 也因此积累了大量的流量控制场景以及生产实践;
  • 2018 年7月,Sentinel 正式开源,首个版本(0.1.0)即生产可用;
  • 2018 年9月,Sentinel 的重要里程碑版本 0.2.0 发布,带来多项全新特性,同时已有外部企业用户在生产环境中使用;
  • 2018 年10月末,Sentinel 进入 CNCF Landscape;Sentinel 的里程碑版本 1.3.0-GA 发布,重要的生产可用版本。

Sentinel 的开源生态非常广泛,其针对常用的框架和库进行了适配,包括 Web Servlet、Dubbo、Spring Cloud和gRPC 等,用户只需引入相应依赖并进行简单配置即可快速接入 Sentinel。同时,Sentinel 动态规则源针对常见的配置中心和远程存储进行适配,目前已支持 Nacos、ZooKeeper、Apollo、Redis 等多种动态规则源,可以覆盖到很多的生产场景。未来,Sentinel 还会对更多常用框架和配置中心进行适配,覆盖更广泛的场景。

那么 Sentinel 作为生产可用的流量控制框架,都有哪些吸引人的特性呢?

轻量级

Sentinel 作为一个功能完备的高可用流量控制框架,其核心 sentinel-core 没有任何多余依赖,打包后只有 200 KB,非常轻量级,用户可以放心地引入 sentinel-core 而不需担心依赖问题。同时,引入 Sentinel 带来的性能损耗非常小,单机 QPS 不太大的时候损耗几乎可以忽略不计(单机 4.3W QPS 的损耗约为 2.36%),因此也无需担心 Sentinel 影响线上业务性能的问题。

易用的控制台

Sentinel 控制台提供强大的实时监控和规则配置管理能力,用户可以非常方便地:

  • 直观地查看不同应用、不同资源的实时监控数据

  • 查看当前的资源调用链路以及实时的调用数据

  • 配置流控规则、降级规则、系统保护规则、热点规则、授权规则

若用户在生产环境中使用了动态规则源,只需对控制台进行少量的改造即可在生产环境中使用 Sentinel 控制台,可以参考 在生产环境中使用 Sentinel 控制台 一文。

专业的流量控制

Sentinel 提供多个方面的专业流控能力来保障服务的稳定性:

  • 多维度的流量控制:流量是实时的、不确定的,因此我们需要对实时到来的不规则的流量进行一定的控制。Sentinel 从资源粒度、运行的指标、资源的调用关系、控制效果等多个维度提供流量控制的能力;
  • 服务的熔断降级:Sentinel 从多个方面提供对不稳定服务降级的能力,可以及时熔断不稳定的服务(如响应时间非常长的服务),防止拖垮下游服务造成级联错误;
  • 全局维度的系统保护:Sentinel 从全局的维度对系统负载进行保护,让系统的入口流量和系统的负载达到一个平衡,保证系统在能力范围之内处理最多的请求;
  • 黑白名单控制:根据资源的调用方来决定资源请求是否通过;
  • 热点参数限流:对热点数据的访问进行限制,参数粒度的流量控制;

如何使用

Sentinel 提供多样化的 SPI 接口用于提供扩展的能力。用户可以在用同一个 sentinel-core 的基础上自行扩展接口实现,从而可以方便地根据业务需求给 Sentinel 添加自定义的逻辑。目前 Sentinel 提供如下的扩展点:

  • 初始化过程扩展:可以添加自定义的一些初始化逻辑,如动态规则源注册等;
  • Slot Chain 扩展:用于给 Sentinel 功能链添加自定义的功能并自由编排;
  • 指标统计扩展(StatisticSlot Callback):用于扩展StatisticSlot 指标统计相关的逻辑;
  • Transport 扩展:用于对心跳发送、监控 API Server 进行扩展。

据悉,Sentinel 还将在后续版本中推出集群限流功能、 API Gateway(如Netflix Zuul)和Service Mesh(如 Istio)全局流量控制等高级特性。

云服务器99元拼团购!拉新还可赢现金红包!300万等你瓜分!
马上一键开团赢红包: http://click.aliyun.com/m/100...



本文作者:中间件小哥

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

Hystrix之外健壮微服务的新选择:Sentinel 发布首个生产版本 1相关推荐

  1. Hystrix之外健壮微服务的新选择:Sentinel 发布首个生产版本

    Sentinel 阿里中间件团队开源的,面向分布式服务架构的轻量级流量控制框架,主要以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度来帮助用户保护服务的稳定性. 近日,阿里中间件开源组件S ...

  2. hystrix 页面_微服务 | 使用Hystrix实现Spring Cloud的熔断机制

    1. 熔断机制介绍 在介绍熔断机制之前,我们需要了解微服务的雪崩效应.在微服务架构中,微服务是完成一个单一的业务功能,这样做的好处是可以做到解耦,每个微服务可以独立演进.但是,一个应用可能会有多个微服 ...

  3. 基于微服务的新零售业务中台OMS

    一.项目简介 开源的一站式中台系统包括订单管理系统OMS/ERP.库存WMS统一管理系统和财务管理系统等,实现快速部署,并帮助企业后续自主进行开发迭代提供一系列的技术组件和业务组件支撑. 二.业务功能 ...

  4. 微服务“大门”如何选择?

    使用微服务网关作为微服务面向客户端的单一入口,是目前普遍采用的微服务架构模式.企业组织通过良好定义的 API 将内部系统向内部和外部用户公开,通常都会采用 API (微服务)网关来处理横向的关注点,包 ...

  5. 最新Java微服务项目该选择什么技术架构

    一个完整的微服务项目,应该包含以下几种类型的必要组件: 注册中心:Euraka.Zookeeper.Nacos 分布式配置中心:Spring Cloud Config.Nacos.Disconf 熔断 ...

  6. 微服务扩展新途径:Messaging

    [编者按]服务编排是微服务设置的一个重要方面.本文在利用 ActiveMQ 虚拟话题来实现这一目标的同时,还会提供实用性指导.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 目前,微服务使用 ...

  7. Dubbo将积极适配Spring Cloud生态,Spring Cloud体系或将成为微服务的不二选择!

    2016年,我在博客中发表过一篇<微服务架构的基础框架选择:Spring Cloud还是Dubbo?>(http://blog.didispace.com/microservice-fra ...

  8. hystrix熔断和降级的区别_Ribbon+Hystrix断路器实现微服务的降级和熔断

    微服务宕机时,Ribbon无法实现转发请求,因此引入Hystrix. Hystrix短路器的核心功能: 降级: 当后台微服务不可用或访问超时时,则转向执行降级代码,或返回错误信息,或返回缓存数据; 熔 ...

  9. hystrix 页面_SpringCloud微服务架构篇5:微服务熔断机制-Hystrix

    由于网络原因或者自身的原因,微服务并不能保证服务百分之百可用.如果单个服务出现问题,则调用该服务时会出现延迟甚至调用失败的情况:若调用失败,用户则会重新刷新页面并尝试再次调用,再加上其他服务的调用,从 ...

最新文章

  1. HBase解决Region Server Compact过程占用大量网络出口带宽的问题
  2. 在MySQL查询山东省男生信息_mysql查询语句
  3. Process Monitor中文手册
  4. php soap传值,在SOAP调用中传递PHP数组
  5. nodejs在Liunx上的部署生产方式-PM2
  6. TensorFlow 与 PyTorch 之争
  7. oracle两表联查分页公式,Oracle中分页查询和联表查询
  8. mac mysql配置jdk_mac开发环境搭建
  9. python datetime.datetime.now_python时间日期datetime模块
  10. CBDict:一个专门为Linux环境下的学术党设计的文献取词翻译器
  11. 旅游出行 APP 哪家强?
  12. arXiv每日推荐-5.9:计算机视觉/图像处理每日论文速递
  13. 高处的圣地 --读《消失的地平线》
  14. TFT显示屏参数设置
  15. 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  16. 如何看待阿里云成立新零售事业部?
  17. Linux中 vi、删除和退出 简单操作
  18. Redis Replication
  19. AI、新材料、5G、智慧城市,未来的社会场景在高交会提前上演
  20. idea文件夹颜色不对,不能新建java类

热门文章

  1. MySQL学习(四、子查询)
  2. C++ 11 新特性: constexpr变量和constexpr函数
  3. mysql省市县三级互动_mysql+ajax的省市县三级联动
  4. 在Excel中如何引用其他的工作表或者工作簿
  5. Dos 中实现else if 功能
  6. poi jxl 生成EXCEL 报表
  7. 572. Subtree of Another Tree
  8. kafka系列九、kafka事务原理、事务API和使用场景
  9. HDU 6249 Alice’s Stamps(dp)
  10. ionic集成jPush极光推送