服务限流降级

2023-05-16

https://segmentfault.com/a/1190000015967922

高并发的线上服务, 有时候面对突发流量, 比如流量突然激增,服务扛不住了,类似这种场景,需要有一个防御措施, 常用的有降级和限流

降级:比如一些热点事件, 当前服务器压力很大, 可以置顶一些降级策略,最简单的比如,随机丢弃一定的用户不走推荐逻辑; 或者用一些低资源消耗的计算逻辑替换线上的逻辑等等, 主要是策略导向的; 被降级的用户请求,可能推荐结果不是那么的最优, 但可尽量的保证正常的访问。 同等的资源下, 服务更多的用户, 以适当的牺牲用户体验为代价

限流: 服务的抗压能力是一定的,在请求量突然增大, 可通过限流策略,来丢弃部分请求,保证服务的稳定。比如服务扛压是1w,  当前有4个上游在同时调用我们的服务,其中有一个服务优先级特别高,需要优先保证正常访问,此时,需要根据一定的策略来限制当前的流量不超过1w,常用的限流策略有令牌桶和漏桶

令牌桶:按照固定的速度, 给令牌桶里面放令牌, 每个服务发请求过来的时候, 需要去桶里面拿对应的令牌,如果没有令牌了,则丢弃本次请求; 有点像混合型共厂,即生产电话,也生产电脑。给的原料多了就快一些,少了就慢一些,都能跑起来,但是再优秀的机器,也有一个上限, 还是不能太多了,如果真的太多了,就要限制速度,到底是生产电脑还是手机呢?就早一个桶,两边分别去拿对应的速率生产就好了

漏桶:按照固定的速度从桶里释放请求,新来的请求放进桶里,如果桶满了,就直接丢弃;有点像工厂里面的生产机器,按照固定的速度生产螺丝钉, 如果前面堆的原料太多,已经溢出了,新原料就放不进来了,而流水线的产出速度稳定不变,慢悠悠的吐出就可以了,没什么压力

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务限流降级 的相关文章

  • 【前端工程化】 剖析npm的包管理机制(完整版)

    现如今 xff0c 前端开发的同学已经离不开 npm 这个包管理工具 xff0c 其优秀的包版本管理机制承载了整个繁荣发展的NodeJS社区 xff0c 理解其内部机制非常有利于加深我们对模块开发的理解 各项前端工程化的配置以加快我们排查问
  • 学习无人机-C01小四轴无人机初体验

    开机时 xff0c M3对应的蓝色指示灯先亮 xff0c M4那头对应的LED09一直亮 xff08 只要板子上电 xff0c 就会一直亮 xff09 充电时 xff0c 红色LED11一直亮 xff0c 没有变暗或者灭掉的现象 并且 xf
  • 姿态传感器的原理与应用文献笔记

    64 TOC 姿态传感器的原理与应用文献笔记 20210526 一 高精度姿态传感器x 1 姿态传感器的定义和意义 姿态传感器以嵌入式系统为核心 xff0c 基于 固态 结构 xff0c 采用先进的倾角测量技术分 xff38 xff39 两
  • vim无法安装问题

    1 用root账户登录Ubuntu xff0c 命令行中输入vim xff0c 如果未安装会得到下面的提示 xff1a 程序 vim 已包含在下列软件包中 xff1a vim gnome vim tiny vim gtk vim nox 请
  • k8s操作手册

    1 kubernetes 组件 1 1 Kubernetes 组件介绍 一个 kubernetes 集群主要由控制节点 xff08 master xff09 工作节点 xff08 node xff09 构成 xff0c 每个节点上都会安装不
  • 已知一指针p,你可以确定该指针是否指向一个有效的对象吗?如果可以,如何确定?如果不可以,请说明原因。

    这个问题我的思路是 xff1a 首先用 p将其值输出来 xff0c 如果编译器报错 xff0c 证明p指向一个无效的对象 xff0c 要么p 61 0要么p未进行初始化 xff0c 此时可以用if p 61 61 NULL 进行判断即可 x
  • opencv学习_10 (图像和轮廓的匹配(hu矩))

    图像和轮廓的匹配 hu矩 1 hu矩的概念 xff0c 我也总结了但是我不过多的阐述 xff0c 因为我也不是太理解 xff0c 只知道它具有平移 xff0c 旋转 xff0c 尺度不变性 xff0c 详细见别人的这篇 blog xff1a
  • opencv学习_11 (模板匹配(包括单模板和多模板))

    模板匹配 在一幅图像中匹配与模板相似的单个或者多个目标 1 目标匹配函数 xff1a cvMatchTemplate const CvArr image constCvArr templ CvArr result int method Im
  • opencv学习_11 (moravec角点检测及缺点)

    1 首先我们来看三幅图片理解什么是角点 xff1a 我们在图片以某像素点为中心 xff0c 取一窗口 xff0c 当窗口向各个方向移动时 xff0c 其内部灰度值变化不是很明显 xff0c 则该点即处在平坦区域 如左边图 xff1b 当其内
  • 2013学习总结

    时间飞逝 xff0c 很快又要过年了 xff0c 马上就要回家了 xff0c 2013年工作也接近尾声了 下面好好总结下2013 学习与工作 lt 1 gt 863农产品推荐系统 一个字形容 xff1a 水 可能国家项目都是这样的 不管怎样
  • 机器学习实战笔记2(k-近邻算法)

    1 xff1a 算法简单描述 给定训练数据样本和标签 xff0c 对于某测试的一个样本数据 xff0c 选择距离其最近的k个训练样本 xff0c 这k个训练样本中所属类别最多的类即为该测试样本的预测标签 简称kNN 通常k是不大于20的整数
  • 智源青年科学家候选人 | 张祥雨:挑战自动化深度学习系统

    4月16日 xff0c 北京智源人工智能研究院发布 智源学者计划 xff0c 宣布重点支持四类人才 xff1a 智源科学家首席 xff08 CS xff09 智源研究项目经理 xff08 PM xff09 智源研究员 xff08 PI xf
  • 可导一定连续,连续不一定可导

    今天在群里面看到大家发了这句可导一定连续 xff0c 连续不一定可导 大家应该都很熟悉 xff0c 包括我自己 xff0c 但是真正理解有多少呢 xff0c 我当时就没想明白 xff0c 中午吃饭的时候也在想 xff0c 最后还是想明白了
  • PCA降维简介

    PCA 全称为 principal component analysis xff0c 即主成成分分析 xff0c 用于降维 对数据进行降维有很多原因 比如 xff1a 1 xff1a 使得数据更易显示 xff0c 更易懂 2 xff1a 降
  • 2014学习总结

    本来想将2014的总结推迟几天写的 xff0c 可是看到csdn的博客活动 xff0c 故而提前几天写了 http blog csdn net lu597203933 article details 18421101这是我个人2013写的学
  • 相似图片搜索原理一(ahash—c++实现)

    ahash xff0c 全称叫做 average hash 应该是 phash perceptual hash 感知哈希 算法的一种 是基于图像内容搜索最简单的一种 search image by image xff0c 因此也有很多的局限
  • BP算法与公式推导

    BP backpropgationalgorithm xff1a 后向传导算法 xff0c 顾名思义就是从神经网络的输出 顶层 到输入 底层 进行求解 那么求解什么呢 xff0c 求解的就是神经网络中的参数的导数 xff0c 即参数梯度方向
  • CNN公式推导

    CNN公式推导 1 前言 在看此blog之前 xff0c 请确保已经看懂我的前两篇blog 深度学习笔记1 卷积神经网络 和 BP算法与公式推导 并且已经看过文献 1 的论文 Notes on Convolutional Neural Ne
  • 简记ReNet

    ResNet 论文给出了Resnet有3中类型 xff0c ResNet50 res3 res4 res6 res3 xff0c ResNet101 res3 res4 res23 res3 和ResNet152 res3 res4 res

随机推荐

  • triplet loss的原理及caffe代码

    1 xff1a triplet loss的原理及梯度推到 http blog csdn net tangwei2014 article details 46788025 2 xff1a triplet loss如何增加到caffe中 xff
  • object detection资料汇总

    转自 xff1a https handong1587 github io deep learning 2015 10 09 object detection html Jump to LeaderboardPapers R CNNMulti
  • 离职小记~~~

    这个月作出的最重要的决定 离职 对于已工作的人来说 xff0c 离职就是跳槽 xff0c 特别是对于我们计算机专业 xff0c 简简单单的一封辞职信 xff0c 等个半月 xff0c 办完手续 xff0c 一切OK xff0c 而且貌似越跳
  • UC Berkeley 马毅:深度学习的第一性原理

    专栏 xff1a 研究思路 我们认为 xff0c 人工智能进入了新的拐点 在一个后深度学习时代 xff0c 不同的学者对未来智能发展道路的理解逐渐清晰 xff0c 当然也逐渐开始分化 xff0c 由此导致了开展布局完全不同的研究工作 智源社
  • 播放器插件实现系列 —— vlc

    vlc 是通过模块来扩展它的功能 xff0c 插件一般就是实现一个模块 vlc的模块有很多类型 xff1a AccessDemuxAccess DemuxDecoderInterfaceVideo filterAudio filterAud
  • 逻辑回归算法——经典的二分类算法

    一 概述 1 逻辑回归 xff08 Logistic Regression xff09 算法是分类算法 xff0c 而不是回归算法 2 决策边界 xff1a 可以是非线性的 xff08 高阶 xff09 二 sigmoid函数 1 定义 x
  • docker 部署redis 并设置密码

    安装docker docker pull redis 获取redis conf 从官网获取redis conf 修改默认配置文件 bind 127 0 0 1 注释掉这部分 xff0c 这是限制redis只能本地访问 protected m
  • 获取全文的13种方法

    注 xff1a 由于大部分院校未能购卖国内外商业医学数据库 xff0c 如 PUBMED ElseVier等 xff0c 因而检索国外全文文献很复杂 这往往成为少数学校的专利 北大医学院网站上有大量文献题录 xff0c 但仅供自已学生使用
  • PID调节(理论)

    AQ的PID相关资料 xff0c 我添加了些 机械控制工程基础 中的内容 什么是PID PID包括比例P xff0c 积分I xff0c 微分D控制器 使用PID控制器 xff0c 你需要以下6个基本元素 xff1a Error xff08
  • Mavlink协议

    Mavlink协议简介 Mavlink协议简介 一Mavlink协议二数据结构三协议支持的数据类型四性能五航点协议 读取MAV的航点列表写MAV的航点列表清除MAV的航点列表设置当前MAV航点 六参数的读写 读取参数列表读取单个参数写参数
  • 计算机图形学方向投稿国外期刊

    图形学领域的杂志 xff08 主要发表三维重构与可视化的一般理论方面的论文 xff09 对图形学领域的杂志 xff0c 国外一个专家有一个很好的评价 xff0c 我基本上按照其的意思翻译 xff0c 加上自己的一点理解 xff1a 1 顶级
  • 使用电脑摄像头计算aruco marker位姿(Python)

    一 效果图 刚做了一些尝试 xff0c 算两个aruco之间的距离 先算x方向 xff0c 用ID 61 12减去ID 61 13 xff0c tvec的三个坐标依次是Z Y X 所以 xff0c ID 61 12和ID 61 13的x距离
  • vnc登录时connection refused(10061)解决方法

    问题 xff1a 当你在windows上连接linux上vnc服务器时 xff0c 点击connect后弹出connect connect refused 10061 警告框时连接被拒绝 首先 xff0c 如果你的VNC配置没有问题并且在l
  • 2014年计算机求职总结--准备篇

    版权所有 xff0c 转载请注明出处 xff0c 谢谢 xff01 http blog csdn net walkinginthewind article details 13000431 找工作是一个长期准备的过程 xff0c 突击是没什
  • 2022智源大会议程公开 | 人工智能新基建论坛

    2022年北京智源大会召开在即 xff0c 5月31日至6月2日 xff0c 持续三天 xff0c 26场由各领域领军学者主导的专题论坛 大会将紧紧围绕这些当前学术领域迫切需要解决的问题 xff0c 以及产业落地过程中存在的诸多挑战 xff
  • 因特尔神经计算棒(NCS)+树莓派+yolo-v3实现object-detection

    因特尔神经计算棒 NCS 43 树莓派 43 yolo v3实现object detection 踩了好多坑啊 一言难尽 Step1 在树莓派上安装环境 首先安装openVINO工具包 xff08 最好不要在树莓派上装NCSDK 太坑了 x
  • prometheus监控k8s集群

    prometheus监控k8s集群 1 监控方式 node expoter部署在k8s节点收集当前节点资源 xff0c Prometheus用来分析处理收集汇总的数据 xff0c grafana用来进行图形展示 2 部署Prometheus
  • 耦合、解耦是什么?怎么做到解耦呢?

    一 耦合 耦合指的是两个类之间的联系的紧密程度 xff1b 强耦合 类之间存在着直接关系 弱耦合 xff1a 在两个类的中间加入一层 xff0c 将原来的直接关系变成间接关系 xff0c 使得两个类对中间层是强耦合 xff0c 两类之间变为
  • 圈复杂度检测

    1 下载链接 xff1a https github com terryyin lizard 2 使用 xff1a python lizard py 文件名 文件路径 3 显示 NLOC xff1a 代码行数 CCN xff1a 复杂度 to
  • 服务限流降级

    https segmentfault com a 1190000015967922 高并发的线上服务 xff0c 有时候面对突发流量 xff0c 比如流量突然激增 xff0c 服务扛不住了 xff0c 类似这种场景 xff0c 需要有一个防