首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

轻量级熔断降级框架 alibaba sentinel 应用

一、简介:

wiki:https://github.com/alibaba/Sentinel/wiki

选择:

开源,成熟(功能完备、实际应用),活跃(功能维护及拓展)

 更轻量:依赖资源少;api方式或者注解方式资源定义;提供扩展入口(自定义slot规则)

 性能损耗小:只有在业务单机量级超过 25W QPS 的时候才会有一些显著的影响(5% - 10% 左右)

 资源,规则分离:埋点资源,按需配置应用规则

核心:资源 + 规则

资源:万物皆资源,通过API定义的任何代码

规则:系统保护、限流,熔断降级等规则

总体框架:

资源Entry对象+slot chain

熔断降级:

隔离方式:信号量,控制并发线程数(规避线程池隔离方式弊端:预设线程池资源 +上下文切换)

降级策略:

平均响应时间 (DEGRADE_GRADE_RT=0):秒级,passCount>=5

 异常比例 (DEGRADE_GRADE_EXCEPTION_RATIO=1):秒级,qps >= 5

 异常数 (DEGRADE_GRADE_EXCEPTION_COUNT=2):分钟级

怎么使用:

定义埋点资源

配置规则:动态

二、Sentinel 配置:

1、引入依赖:

2、添加配置:

3、规则数据源配置:

a)自定义pull型规则动态数据源:服务每秒拉取配置,有变更则更新规则应用

数据源定义:

规则配置:uc:rules:degrade

b)apollo动态配置源

依赖:

配置:

配置文件:yml文件

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230608A02V6Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券