阿里巴巴微服务流控组件Sentinel学习总结笔记
3、开源框架适配 ,包括spring cloud,dubbo,httpClient,spring cloud gateway等,客户端项目引入sentinel提供的各对应框架的适配依赖包,则会自动为服务和接口或方法加入保护资源列表。注:OpenSergo这个单词搜索了下,Sergo应该读作塞尔戈,为了便于记忆,可以译作山狗,那连起来就译作:"开山狗"吧,反正中间件什么的,各种动物名称都挺多的。:从
Sentinel学习笔记
官方文档 :
资源:
资源定义:
1、注解支持,使用注解@SentinelResource,需要开启spring aspectJ,且引入sentinel的aspectJ依赖包
注解支持 · alibaba/Sentinel Wiki · GitHub
2、try SphU(傻破孩哟) if SphO (傻破孩哦).entry(resourceName)手动代码埋点。可以帮助rocketMq削峰填谷,需要手动埋点。
3、开源框架适配 ,包括spring cloud,dubbo,httpClient,spring cloud gateway等,客户端项目引入sentinel提供的各对应框架的适配依赖包,则会自动为服务和接口或方法加入保护资源列表。
规则:
规则包括 流控规则、熔断规则、热点规则、系统规则、授权规则(调用方来源黑白名单控制)
- 流控规则类型分为按QPS控制、按并发线程数控制
- 熔断规则类型分为按慢调用统计、异常数统计、异常率统计
- 授权规则(调用方来源黑白名单控制) 类型分为 黑名单 、白名单;调用方信息通过
ContextUtil.enter(resourceName, origin)方法中的origin参数传入。
AuthorityRule rule = new AuthorityRule();
rule.setResource("test");
rule.setStrategy(RuleConstant.AUTHORITY_WHITE);
rule.setLimitApp("appA,appB");
AuthorityRuleManager.loadRules(Collections.singletonList(rule));
数据源扩展DataSource
重启客户端后,控制台录入推送的规则也不见了,持久的话,可以配置数据源扩展DataSource:
Sentinel 目前支持以下数据源扩展:
控制台
dashboard
监控、簇点链路
规则配置
集群流控
机器列表
多语言版本支持
java go rust c++
官方现在有go语言的版本文档:quick-start | Sentinel
OpenSergo 动态规则源
Sentinel 2.0 将作为 OpenSergo 流量治理的标准实现,Sentinel 社区提供对接 OpenSergo spec 的动态数据源模块 sentinel-datasource-opensergo,只需要按照 Sentinel 数据源的方式接入即可。
OpenSergo 是一套开放通用的、面向云原生服务、覆盖微服务及上下游关联组件的微服务治理标准,并根据标准提供一系列的 API 与 SDK 实现。OpenSergo 项目由阿里巴巴、bilibili、CloudWeGo 等企业与社区联合发起,社区主导共建。OpenSergo 以统一的一套配置/DSL 定义服务治理规则,面向多语言异构化架构,覆盖微服务框架及上下游关联组件。
注:OpenSergo这个单词搜索了下,Sergo应该读作塞尔戈,为了便于记忆,可以译作山狗,那连起来就译作:"开山狗"吧,反正中间件什么的,各种动物名称都挺多的。
OpenSergo(开山狗) 标准列表
-
服务发现
-
流量治理与服务容错
-
数据库治理:从微服务访问数据库的视角进行治理,包括数据库流量路由、读写流量治理、数据分片、数据加解密等。
-
缓存治理:从微服务访问缓存的视角进行治理,如热点 key 防击穿等。
-
日志治理
参考:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)