17 | Sentinel 体系结构:什么是服务容错(降级熔断、流量整形)?
什么是服务雪崩?
- 深入了解
- 翻译
- 解释
- 总结
Sentinel 体系结构是一篇介绍了服务容错(降级熔断、流量整形)的技术文章。文章通过生动的场景描述和详细的技术介绍,使读者能够快速了解服务容错的重要性以及Sentinel在其中的作用和原理。文章首先描述了服务雪崩的危害,引出了服务容错的重要性。接着详细介绍了Sentinel服务容错的思路,包括内部异常治理和外部流量控制两个方面。在内部异常治理中,文章介绍了降级和熔断的处理方式,强调了在双11等大促场景下的重要性,并提到了全链路压测的重要性。在外部流量控制方面,文章介绍了限流的作用以及不同的限流模型,强调了限流作为投入产出比最高的防护措施。此外,文章还提到了Sentinel的工作原理,介绍了其使用职责链的方式做资源访问检查的机制。整体而言,本文通过生动的场景描述和详细的技术介绍,使读者能够快速了解服务容错的重要性以及Sentinel在其中的作用和原理。
《Spring Cloud 微服务项目实战》,新⼈⾸单¥59
全部留言(7)
- 最新
- 精选
- Lee限流单机guava的ratelimit 或者分布式下用redis的rratelimit
作者回复: 单机guava非常好,成本低廉
2022-05-146 - peterA “降级”和“熔断”都会执行降级逻辑。但对于“降级”,下一次A服务还会调用B服务,只不过失败后再执行降级逻辑,对吗? B 我对“降级”的理解是“下线某些不重要的服务”,和本篇所讲的“降级”不一样。是不同层次的“降级”吗? Q2:预热模型两个问题? A 预热模型是在线上使用的吗?还是上线之前测试用的? B 对于窗口内的某一个阈值,请求失败后怎么处理? Q3:Sentinel创建的entry对象是对请求的封装吗? 还是对要访问的资源的封装? Q4:为什么叫Slot吗?slot本意是“时隙”,感觉用这个名字不合适?
作者回复: 通常意义上说的降级是“服务降级”,比如下单页面显示100%业务元素,现在我做链路降级,只提供70%业务能力,剩下30%的非主链路服务,比如说用户画像推荐,就给关闭掉。我文章中说的“降级”是偏向于“降级方法”的意思,其实可以认为是“error处理方法”。 预热模型在线上使用,请求失败后根据你设置的流控效果有不同的处理方式。entry视为对“一次访问请求能否通过flow检查”的封装,并不是对“Request请求”的封装。 英文和中文一样一个词有很多语义,有很多需要“意会”的含义,Slot作为一个“槽”的含义,其实功能层面上和filter的类似。官方是以slot命名的。
2022-01-1934 - 子夜有个疑问 限流和熔断降级都是入口处拦截的,假如有两台服务器a,b。a调用b 在b处做限流或熔断降级,无论b的资源是否被占用,a的计算资源都被占用了不是嘛
作者回复: 是这样没错,如果不想浪费A资源可以把流控前置,放在A这里,或者通过关联流控/链路流控等方式设置优先级序列,让核心服务放行,边缘服务进流控
2022-06-302 - 排骨Sentinel里面有个DefaultSlotChainBuilderTest单元测试类,可以大概看清楚全流程2023-02-27归属地:广东3
- 罗逸改了git配置,拉下来了,sorry2022-02-18
- 罗逸服务容错拉不下来 warning: Clone succeeded, but checkout failed. sentinel-annotation-quarkus-adapter-deployment 说这个名称过长2022-02-18
- 海布里王力宏能简单介绍一下slot的底层原理实现吗?如何做到即保护了资源又不影响可用性。2022-01-30