微服务架构 | 超时管理
INDEX
- LSA 级别与全年停机时间速查表
- LSA 级别实战
- TP 性能
- 超时时间设计原则
LSA 级别与全年停机时间速查表
计算公式:60 * 60 * 24 * 365 * (1-LSA) = 31,536,000 * (1-LSA)
系统级别 | LSA级别 | 全年停机时间 |
---|---|---|
0+ | 99.999% | 5分钟 |
0 | 99.99% | 52分钟 |
1 | 99.9% | 8.8小时 |
2 | 99% | 3.65 天 |
LSA 级别实战
0+ 级系统是目前业界的普遍努力方向,已有实现了 99.995% 的案例
0 级系统是 涉及核心资金交易的基础服务,需要不间断运行,长时间不可用可能影响名誉、品牌、战略等
1 级系统是 不涉及资金的核心基础服务,需要不间断运行,长时间不可用会影响用户使用产品的核心功能或用户体验
2 级系统是 其他服务、内部服务,长时间不可用只会影响服务自身,或不会对用户产生影响
TP 性能
常见的 TP 性能有 TP99、TP999、TP9999
TP 性能是指,一段时间内,满足 99%、99.9%、99.99% 忘了请求的最小时间。
即:某次统计,服务的 TP99 = 100ms,则意味着 此服务 99% 的网络请求可以在 100 ms 的时间内完成响应。
通常计算方式为,统计单位时间内的所有请求,按其相应时间进行排序,计算处于 x 位置的请求,返回其相应时间,如下图
TP 时间在统计时:
- 忽略异常毛刺,毛刺大概率是偶发现象,比如网络抖动等,不能用来说明问题
- 通常从压测数据来,一般使用分钟级压测数据进行统计
- 通常使用调用方视角,而非服务方视角进行统计
超时时间设计原则
- 基于服务所属系统级别设置
- 基于系统对应的 TP 性能设置
- 符合全链路超时漏斗
常见超时时间设置公式
系统级别 | 超时计算 |
---|---|
99.99% | TP9999 * 1.2 + 50ms |
99.9% | TP999 * 1.2 + 50ms |
99% | TP99 * 1.2 + 50ms |
- 1.2 可以认为是一个 波动系数,通常相对稳定的系统可以稍小,反之可以稍大
- 50ms 是为 GC 准备的时间,通常一次 GC 需要 20-50ms
- 这两个数值常基于对生产环境、准生产环境的监控或压测,若 充分压测,可以认为对应的 TP 性能就是考虑了波动的数值,因此 可以忽略波动系数
- 这两个数值也可以基于架构师团队的预测和调整
超时漏斗
超时漏斗如上图所示:服务 A 调用服务 B,超时时间 A > 超时时间 B
超时漏斗意义/不满足时的问题
首先可以将一个服务的超时时间可以理解为:服务处理单个请求时,承诺的占用系统资源的最大时间
对于一个请求,若如上图所示调用关系,上游服务应该持有系统资源更长时间,才能完整的收到下游服务的反馈
不满足超时漏斗可能导致两个问题
- 资源占用上升:
- 满足漏斗:请求到达服务 B,B 会开辟响应的资源,直到下游返回,服务处理完成,或达到超时时间释放
- 违反漏斗:服务 B 一定等到超时时间再释放(实际处理时间从 ≤ 变为 =超时时间),增加资源占用
- 降级不可靠:
- 满足漏斗:得到基础服务的返回或降级,并继续处理
- 违反漏斗:没得到基础服务的返回或降级,最后按服务 B 的降级返回
相关文章:
微服务架构 | 超时管理
INDEX LSA 级别与全年停机时间速查表LSA 级别实战TP 性能超时时间设计原则 LSA 级别与全年停机时间速查表 计算公式:60 * 60 * 24 * 365 * (1-LSA) 31,536,000 * (1-LSA) 系统级别LSA级别全年停机时间099.999%5分钟099.99%52分钟199.9%8.8小时299%3.65 天 LSA…...
Qt 样式表大全整理
【QT】史上最全最详细的QSS样式表用法及用例说明_qt样式表使用大全_半醒半醉日复日,花落花开年复年的博客-CSDN博客 QT样式表的使用_qt 设置按下 release hover 按钮样式表_create_right的博客-CSDN博客 QPushButton {border-image: url(:/Start_Stop.png); } QPu…...
k8s-10 cni 网络
k8s通过CNI接口接入其他网络插件来实现网络通讯。目前比较流行的插件有flannel,calico等。 CNI插件存放位置: # cat /etc/cni/net.d/10-flannel.conflist 插件使用的解决方案如下: 虚拟网桥,虚拟网卡,多个容器共用一个虚拟网卡进行通信。多路复用: Mac…...
IDEA中.gitignore配置不生效的解决方案
一、创建项目 二、执行以下Git命令 git rm -r --cached . git add . git commit -m "update .gitignore"...
SparkContext 与 SparkContext 之间的区别是什么
SparkContext 是 Spark 的入口点,它是所有 Spark 应用程序的主要接口,用于创建 RDD、累加器、广播变量等,并管理与 Spark 集群的连接。在一个 Spark 应用程序中只能有一个 SparkContext。 而 SparkSession 是 Spark 2.0 新增的 API࿰…...
lv8 嵌入式开发-网络编程开发 17 套接字属性设置
1 基本概念 设置套接字的选项对套接字进行控制除了设置选项外,还可以获取选项选项的概念相当于属性,所以套接字选项也可说是套接字属性有些选项(属性)只可获取,不可设置;有些选项既可设置也可获取 2 选项…...
VulnHub Alice
一、信息收集 发现开发了22、80 2.访问ip,右击查看源代码 发现需要利用X-Forwarded-For 火狐插件:X-Forwarded-For Header 挂上代理后: 出现以下页面: 先注册一个账户,然后再登录 发现有参数进行传参 发现传参&a…...
AUTOSAR组织发布20周年纪念册,东软睿驰NeuSAR列入成功案例
近日,AUTOSAR组织在成立20周年之际发布20周年官方纪念册(20th Anniversary Brochure),记录了AUTOSAR组织从成立到今天的故事、汽车行业当前和未来的发展以及AUTOSAR 伙伴关系和合作在重塑汽车方面的作用。东软睿驰提报的基于AUTOS…...
转行网络安全是否可行?
一、前言 其实很多的IT大佬之前也不是专门学计算机的,都是后期转行的。而且大学学什么专业,对后期的工作真的没有太大关系,这也是现在高校的教育现状。有80%的学生都是通过临时抱佛脚,考前冲刺拿到毕业证书的。下面就带大家详细分…...
netca_crypto.dll找不到怎么修复?详细解决办法和注意事项
当你在使用计算机时,突然出现了一个错误提示:“netca_crypto.dll 找不到”。不知道该如何解决这个问题?其实要解决是非常的简单的,今天我们将为你提供几种修复 netca_crypto.dll 找不到的解决方法和一些注意事项。在深入探讨修复方…...
axios的请求中断和请求重试
请求中断 场景:1、假如一个页面接口太多、或者当前网络太卡顿、这个时候跳往其他路由,当前页面可以做的就是把请求中断掉(优化)2、假如当前接口调取了第一页数据,又调去了第二页的数据,当我们调取第二页数…...
视频怎么压缩?视频太大这样处理变小
在当今时代,视频已经成为了我们日常生活中不可或缺的一部分,然而,视频文件往往非常大,给我们的存储和传输带来了很大的不便,那么,如何有效地压缩视频呢? 一、使用压缩软件 首先我们给大家分享一…...
【MATLAB源码-第48期】基于matlab的16QAM信号盲解调仿真。
操作环境: MATLAB 2022a 1、算法描述 16QAM (16个象限幅度调制) 是一种广泛使用的数字调制技术。在无线和有线通信系统中,为了在固定的带宽内发送更多的信息,高阶调制如16QAM被使用。下面是16QAM盲解调的基本步骤、优缺点及应用场景。 16Q…...
自我介绍思考
1.引导面试官有重点的看你简历 2.在引导部分暗示他我是最适合这个岗位的 面试官在考察什么? a.你的表述是否一致b.考察你的语言表达能力,逻辑思维能力,总结概括能力c.考察你对现场的把控能力d.对时间的把控能力 怎么做? 1.写逐…...
华为eNSP配置专题-VLAN和DHCP的配置
文章目录 华为eNSP配置专题-VLAN和DHCP的配置1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、基本终端构成和连接 3、VLAN的配置3.1、两台PC先配置静态IP3.2、交换机上配置VLAN 4、接口方式的DHCP的配置4.1、在交换机上开启DHCP4.2、在PC上开启DHCP 5、全局方式的…...
微服务11-Sentinel中的授权规则以及Sentinel服务规则持久化
文章目录 授权规则自定义异常结果规则持久化实现Push模式 授权规则 根据来源名称对请求进行拦截 ——>我们需要解析来源名称(RequestOriginParser默认解析都为default),所以我们要自定义一个实现类(根据请求头解析,…...
私有化部署AI智能客服,解放企业成本,提升服务效率
在信息时代,企业面临着服务效率提升和成本压力的双重挑战。作为一个领先品牌,WorkPlus致力于为企业提供私有化部署的AI智能客服解决方案。本文将深入探讨WorkPlus AI智能客服如何帮助企业解放成本、提升服务效率以及打造个性化的卓越客户体验。 AI智能客…...
docker数据卷+挂载(命令讲解+示例)
在容器中管理数据主要有两种方式: 数据卷(Volumes) 、挂载主机目录 (Bind mounts)。 一、数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,可以在容器之间共享和重用。 特点: 对 数据卷 的修改会立马生效对 …...
【webrtc 】FEC 1: 音频RED rfc2198及视频ULPFEC的RED封装
1 参考和引用 M79 代码。 ULPFEC报文构建流程 与大神的分析: WebRTC-FEC协议总结 一致 CrystalShaw 大神的文章 ULPFEC在WebRTC中的实现 WebRTC研究:FEC之RED封装 本文是大神们文章和代码的学习笔记。red封包(rfc2189)1.1 RED(Redundant Coding) 封装 Ulpfec 非均等保护前向纠…...
【Qt】Qt再学习(十七):QThread、QMutex、QTimer
1、QThread 1.1 简介 QThread实现了跨平台的方式来管理线程。一个QThread对象管理一个线程。 1.2 创建线程方法 1)使用QObject::moveToThread()函数将工作对象移动到线程中,该对象的槽函数将在新线程中运行,其它函数还在父线程中运行。 参见本人博客《【Qt】QObject::mo…...
scratch身高统计 2023年9月中国电子学会图形化编程 少儿编程 scratch编程等级考试三级真题和答案解析
目录 scratch身高统计 一、题目要求 1、准备工作 2、功能实现 二、案例分析...
SpringBoot面试题4:Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个? Spring Boot支持多种日志框架,包括以下几种: Logback:Logback 是一个快速、灵活…...
Git 常用命令汇总
导言 如果你是新手小白,完全不懂git,可以先看这一篇 github 详细教程 本文仅适用于对 git 操作已经有了一定掌握的用户,本文的目的在于将常用命令统一梳理记录,便于查阅。 干货 克隆指定分支:git clone -b <branc…...
最好的开放式蓝牙耳机有哪些?排名前五的开放式耳机五强
越来越多的人开始选择蓝牙耳机作为他们的音频解决方案。蓝牙耳机市场提供了各式各样的选择,不仅有常见的头戴式、耳塞式和半入耳式,还有一种备受欢迎的"开放式耳机"。今天,我将向大家介绍一些优秀的开放式蓝牙耳机款式,…...
docker-machine常用
docker-machine常用 什么是Docker Machine?Docker Machine默认支持的驱动安装kvm驱动 安装和配置Docker Machine环境准备node1安装Dockernode1安装Docker Machine为Docker Machine安装自动补全为Docker Machine准备boot2docker.iso镜像为node2创建machine主机 管理远…...
【Redis】Java客户端使用list命令
lpush/lrange rpush/rpop/lpop blpop/brpop llen...
ubuntu下yolov6 tensorrt模型部署
TensorRT系列教程之 Windows10下yolov8 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov8 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov7 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov6 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov5 ten…...
k8s查看当前命名空间下所有运行的 pod 对应的镜像
1,查看镜像 kubectl -n xxx get pods | grep Running | awk {print $1} | xargs -r -I {} kubectl -n xxx get pods {} -ojsonpath{.status.containerStatuses[0].image}{"\n"} | sort 2,去重查看 kubectl -n namespace get pods -o jsonp…...
傅里叶变换和其图像处理中的应用
以下部分文字资料整合于网络,本文仅供自己学习用! 一、为什么要在频域进行图像处理? 一些在空间域表述困难的增强任务,在频率域中变得非常普通 滤波在频率域更为直观,你想想嘛,所谓滤波,就是…...
风电厂VR情景式三维模拟实训系统让教育更加贴近实际
VR虚拟仿真实训室是一种利用虚拟现实技术和仿真技术,为教学和学生实训提供虚拟环境和实践机会的设施。它通过将学生置身于虚拟场景中,让他们可以身临其境地参与到实际场景中,从而提高实际操作能力和技能水平。 在教学方面,VR虚拟仿…...
搜索引擎优化是指/aso优化技巧
在我们使用MPU6050芯片时期望得到的是姿态数据,也就是姿态的倾角。我们通常利用的原始数据,进行姿态融合解算,此方法比较复杂,知识点比较多,需要进行数学的四元数推运算,初学者不易掌握。其实,M…...
男人和男人做爰漫画网站/百度推广河南总部
pandas 安装方法:pip3 install pandas pandas是一个强大的Python数据分析的工具包,它是基于NumPy构建的模块。 pandas的主要功能: 具备对其功能的数据结构DataFrame、Series 集成时间序列功能 提供丰富的数学运算和操…...
成都网站建设思乐科技/网站推广软件排名
ISA 2004日志可以有多种存放格式,默认使用MSDE。当使用MSDE时,可以设置日志保留的天数,也就是说可以自动删除若干天以前的日志,从而保证了日志文件的大小不会变得过大。但是当使用SQL Server时,没有这个功能。SQL Serv…...
wordpress图片自适应主题/运营推广公司
在我们日常开发工作中,有时候会遇到需要把某个git分支中的某个功能合并到另一分支,却因为一些差异而不能使用git merge,进行单纯的分支合并。 这时cherry-pick便将起到至关重要的作用了。 合并单个commit 例:想要在b1分支合并进x功能&#x…...
中学加强校园网站建设/百度百度
超级链接是指从一个网页指向一个目标的链接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。在网页中能成为超级链接的元素…...
订做网站策划/论坛外链代发
CRM的出现,改变了以往客户资料分散、客户管理复杂繁琐的状况,还让企业对客户数据、产品信息、员工数据实现了统一。自20世纪90年代以来,CRM的经营理念和运作体系迅速被企业界所接受并在大企业得到广泛应用。但是,占企业总数90%以上…...