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

系统设计 --- 对中台系统进行流量监控和限流

系统设计 --- 对中台系统进行流量监控和限流

  • 背景
  • 监控
    • 网关级别的监控
    • 服务级别的监控

背景

  • 在日常开发中,会出现随着系统调用量的增加导致服务崩溃的情况,此时一个应对策略就是对Api进行限流
  • 但是作为数据中台系统,因为支持着不同业务部门以及下游应用,所以在设置限流时需要非常谨慎,随意的限流或者设置不合适的阈值可能会导致整个业务系统崩溃.
  • 策略:
  • 第一步: 首先对整个系统进行流量监控
  • 第二步: 分析流量监控结果:
  • 如果都是业务必须的流量,则拿着流量监控结果向上级汇报,要求增加硬件配置
  • 如果有异常流量, 则设计一个阈值,对这些异常流量进行限流

监控

网关级别的监控

在网关可以对请求进行一些监控,具体监控维度包括:

  • 每个Api请求数量
  • 请求来源:在header中有自定义的x-source-id
  • 处理时间

服务级别的监控

对于查询Api,每个api消耗的资源可能不一样,比如两个用户调用同一个查询Api,用户A查询50mb的数据,用户B查询100mb的数据. 所以还需要在服务级别创建一个监控,来统计每次api调用使用的资源数量,具体统计纬度包括

  • 用户名 (从token中获取)
  • 调用来源:在header中有自定义的x-source-id
  • 数据库读写次数
  • 数据库读写大小
  • 注意这里的数据库是Azure Blob,Azure Blob的收费和读写次数大小相关

如何做监控

  • 使用fluent-bit在gateway或者服务节点上采集日志,将日志放入数据库,再通过数据看板展示
  • fluent-bit ---- AzureDataExplore — Dashboard
http://www.lqws.cn/news/102673.html

相关文章:

  • 帝可得 - 运营管理APP
  • 栈与队列1
  • 新版 Xcode 中 CoreData 模型编辑器显示拓扑图功能取消的替代方案
  • 三、Sqoop 全量导入核心命令
  • 大模型赋能:金融智能革命中的特征工程新纪元
  • 区块链技术赋能供应链金融:重塑信任与效率
  • 解锁Java多级缓存:性能飞升的秘密武器
  • 黑马Java面试笔记之 微服务篇(业务)
  • ASR技术(自动语音识别)深度解析
  • vscode配置lua
  • Visual Studio Code
  • 原子操作与非原子操作
  • leetcode hot100(两数之和、字母异位词分组、最长连续序列)
  • smartGit 试用突破30天
  • CSS设置移动端页面底部安全距离
  • PostgreSQL的扩展 passwordcheck
  • Git 使用规范指南
  • Ⅲ-2.计算机二级选择题(三大结构之选择结构)
  • ULVAC DC-10-4P 400V input 10kW DC Pulse power supply 爱发科直流电源
  • JVM—垃圾收集算法和HotSpot算法实现细节
  • 嵌入式开发学习日志(linux系统编程--系统编程之 进程间通信IPC)Day32
  • Java Lambda 表达式的缺点和替代方案
  • 为何选择Spring框架学习设计模式与编码技巧?
  • STM32F103C8T6:解锁无限可能的应用之旅
  • STM32单片机编程中标志变量的思想无处不在
  • 焊缝缺陷焊接缺陷识别分割数据集labelme格式5543张4类别
  • 人工智能在智能教育中的创新应用与未来趋势
  • MybatisPlus--核心功能--service接口
  • 登录vmware vcenter报vSphere Client service has stopped working错误
  • 悟饭游戏厅iOS版疑似流出:未测试版