码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【博学谷学习记录】超强总结,用心分享|架构师-sentinel


    文章目录

    • 一、sentinel
      • 1.1 服务降级-不报错,降级为不可用或弱可用
      • 1.2 服务熔断-拒绝服务
      • 1.3 核心功能:流量控制
      • 1.4 sentinel规则
      • 1.5 sentinel控制台

    一、sentinel

    提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性
    作用:系统保护:流量保护、熔断、降级(类似hystrix)

    1.1 服务降级-不报错,降级为不可用或弱可用

    备选响应,返回预备的结果(备胎)

    1.2 服务熔断-拒绝服务

    10次 8次错,或者响应时间特别慢,直接给个降级的备胎
    调用方熔断—百分之80失败率,不产生远程调用,直接返回备选结果(写的fallback)
    服务端熔断—直接返回备选结果

    sentinel两个基本概念
    服务保护:受保护的对象:资源 rest api、method、service
    推责:在什么条件下开启保护

    1.3 核心功能:流量控制

    熔断降级+流量控制
    QPS流量控制:
    当 QPS 超过某个阈值的时候,则采取措施进行流量控制。流量控制的效果包括以下几种:直接拒绝、 Warm Up、匀速排队。

    直接拒绝( RuleConstant.CONTROL_BEHAVIOR_DEFAULT )方式是默认的流量控制方式,当QPS超过任意规则的阈值后,新的请求就会被立即拒绝,拒绝方式为抛出 FlowException 。这种方式适用于对系统处理能力确切已知的情况下,比如通过压测确定了系统的准确水位时。
    Warm Up( RuleConstant.CONTROL_BEHAVIOR_WARM_UP )方式,即预热/冷启动方式。当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。
    匀速排队( RuleConstant.CONTROL_BEHAVIOR_RATE_LIMITER )方式会严格控制请求通过的间隔时间,也即是让请求以均匀的速度通过,对应的是漏桶算法。

    1.4 sentinel规则

    添加规则,比如1秒之内允许多少个请求过来
    流量控制有以下几个角度:
    资源的调用关系,例如资源的调用链路,资源和资源之间的关系;
    运行指标,例如 QPS、线程数等;
    控制的效果,例如直接限流(快速失败)、冷启动(Warm Up)、匀速排队(排队等待)等。
    Sentinel 的设计理念是让您自由选择控制的角度,并进行灵活组合,从而达到想要的效果。

    在这里插入图片描述

    1.5 sentinel控制台

    在控制台添加更简便,页面上添加规则,下发到服务
    sentinel控制台规则需持久化,不然重启则消失

  • 相关阅读:
    Ubuntu 22.04安装深度学习框架PyTorch-GPU版
    Open CASCADE学习|选取模型的点、线和面
    C#自定义配置文件(一)
    【Java集合框架】14——LinkedHashSet 类
    百花齐放:解锁大型语言模型的潜力 | 开源专题 No.32
    ConcurrentHashMap
    基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测
    学习Android的第二十九天
    java替换jar中的class文件
    免费文字转语音软件有哪些?这几款宝藏工具你值得拥有
  • 原文地址:https://blog.csdn.net/qq_22043649/article/details/127604965
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号