当前位置: 首页 > news >正文

集群限流sentinel实践

参考:

集群模式

实践

集群流控规则

其中 用一个专门的 ClusterFlowConfig 代表集群限流相关配置项,以与现有规则配置项分开:

// 全局唯一的规则 ID,由集群限流管控端分配.
private Long flowId;// 阈值模式,默认(0)为单机均摊,1 为全局阈值.
private int thresholdType = ClusterRuleConstant.FLOW_THRESHOLD_AVG_LOCAL;private int strategy = ClusterRuleConstant.FLOW_CLUSTER_STRATEGY_NORMAL;// 在 client 连接失败或通信失败时,是否退化到本地的限流模式
private boolean fallbackToLocalWhenFail = true;

解释
flowId 代表全局唯一的规则 ID,Sentinel 集群限流服务端通过此 ID 来区分各个规则,因此务必保持全局唯一。一般 flowId 由统一的管控端进行分配,或写入至 DB 时生成。
thresholdType 代表集群限流阈值模式。其中单机均摊模式下配置的阈值等同于单机能够承受的限额,token server 会根据客户端对应的 namespace(默认为 project.name 定义的应用名)下的连接数来计算总的阈值(比如独立模式下有 3 个 client 连接到了 token server,然后配的单机均摊阈值为 10,则计算出的集群总量就为 30);而全局模式下配置的阈值等同于整个集群的总阈值。

Q: 集群流控规则中“单机均摊”阈值模式是什么意思?

A: 单机均摊模式下配置的阈值等同于单机能够承受的平均限额。Token Server 会根据客户端对应的 namespace(默认为 project.name 定义的应用名)下的连接数来计算总的阈值(比如独立模式下有 3 个 client 连接到了 token server,然后配的单机均摊阈值为 10,则计算出的集群总量就为 30)。单机均摊阈值仅用于计算总体阈值,不是说每台机器一定要控制在均摊阈值上。配置方式:若希望某个资源限制集群总量为 Q,服务实例为 N,则可以配置单机均摊阈值为 Q / N。

单机均摊阈值 配置为10, 则总体阀值为 10*N(N为机器数量)

http://www.lryc.cn/news/393485.html

相关文章:

  • Flutter-实现双向PK进度条
  • unix高级编程系列之文件I/O
  • PySide(PyQt),记录最后一次访问文件的路径
  • wordpress企业网站模板免费下载
  • [leetcode hot 150]第一百一十七题,填充每个节点的下一个右侧节点
  • Docker 入门篇(十 一)-- 网络配置总结
  • 【Android面试八股文】Android 有哪些存储数据的方式?
  • 3. train_encoder_decoder.py
  • Hyper-V克隆虚拟机教程分享!
  • QDockWidget类详解
  • vue3.0(十六)axios详解以及完整封装方法
  • Python用于处理 DNS 查询库之Dnspython 使用详解
  • Django ORM 中过滤 JSON 数据
  • 深入探索C语言中的结构体:定义、特性与应用
  • EDEM-FLUENT耦合报错几大原因总结(持续更新)
  • ctfshow sql注入 web234--web241
  • Python的招聘数据分析与可视化管理系统-计算机毕业设计源码55218
  • 使用ChatGPT写学术论文的技巧和最佳实践指南
  • 多模态图像引导手术导航进展
  • 小程序 全局数据共享 getApp()
  • 第一次面试的经历(java开发实习生)
  • GitHub Copilot API
  • CobaltStrike的内网安全
  • Linux之进程控制(下)
  • Mac搭建anaconda环境并安装深度学习库
  • Linux:文件系统与日志分析
  • 迈阿密色主题学科 HTML5静态导航源码
  • Qt 基础组件速学 鼠标和键盘事件
  • 【踩坑】解决undetected-chromedriver报错cannot connect to-chrome
  • PyCharm 2024.1 版本更新亮点:智能编程,高效协作