首页 > 其他分享 >5分钟了解系统架构设计(1)

5分钟了解系统架构设计(1)

时间:2023-04-15 21:14:45浏览次数:56  
标签:架构设计 请求 TP99 系统 分钟 了解 SLA

5分钟了解系统架构设计(1)

最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。

 

 

本篇,我们聚焦架构设计的基础知识。在了解架构设计这个topic之前,我们需要对一些常见的概念有理解。

 

相同点:模块与组件都是系统的组成部分

不同点:只是从不同的角度拆分系统而已,从逻辑的角度拆分后得到的单元是“模块”,从物理的角度拆分后得到的单元就是“组件”;

划分模块的主要目的是职责分离,而划分组件的主要目的是单元复用。

 

框架与架构

 

框架是组件规范,提供一些基础功能的产品,比如:MVC是一种最常见的开发规范,而Spring MVC, ASP.NET MVC 都是 MVC 的开发框架,它们提供了很多基础功能帮助程序员实现功能。

架构是软件系统的“基础结构”,从不同的角度或维度,可以将系统划分为不同的结构,比如:业务逻辑的角度,物理部署的角度,开发规范的角度等等。

框架关注的是“规范”,而架构关注的是“结构”。

 

一些关键指标

 

(1)系统可用性指标:SLA 

 

SLA全称:Service-Level Agreement, SLA

 

SLA的计算方式:

 

常见可用性指标:

 

 

 

常见指标解读:

2个9 表示 系统基本可用,年度不可用时间小于88小时。

3个9 表示 较高可用,年度不可用时间小于9小时。

4个9 表示 具有自动恢复能力的高可用,年度不可用时间小于53分钟(52.56分钟)。

5个9 表示 具有极高的可用性,年度不可用时间小于5分钟。

更加科学的度量方式:

任何一家互联网公司,都有流量的低峰期和高峰期,在低峰期停机1分钟和高峰期停机1分钟,对业务影响的结果完全不同。因此,可以基于一种更加科学的度量方式来评估,即基于一段时间(比如1年)的停机影响的请求量占比进行评估。

 

综上所述,在回答SLA指标时,先说明N个9 和 影响请求量占比,再结合实际业务场景回答。

 

 (2)系统性能指标1:延迟 和 吞吐量

 

吞吐量:即系统处理请求的速率,它反映了单位时间内处理请求的能力,一般用TPS或QPS作为单位。

延迟:即响应时间,它反映了客户端发送请求到接收响应的时间,一般用ms和s作为单位。

吞吐量和延迟既互斥 又 不绝对互斥

 

 

对一些延迟要求比较高的系统来说,系统优化性能指标是要找到延迟趋向最低和吞吐量趋向最高的点

 

(3)系统性能指标2:TP(Top Percentile)

以TP99为例,它代表的是 请求中99%的请求能够达到的性能。

TP是一个时间值,比如TP99=100ms,即99%的请求能够在100ms内得到响应

TP99计算方式

把一段时间内所有请求的响应时间,按照从小到大进行排序,然后取99%对应的请求的响应时间,即为TP99的值。

为什么用TP99?

TP99比计算平均响应时间更能反映系统性能的真实情况。

(4)系统全链路性能指标

一次请求会涉及到的前后端全链路性能指标:

 

 

 

转载自:https://www.cnblogs.com/edisonchou/p/architecture_design_learning_in_5mins_part1.html

 

 

标签:架构设计,请求,TP99,系统,分钟,了解,SLA
From: https://www.cnblogs.com/wangsea/p/17317250.html

相关文章

  • 光速了解汇编语言
    目录光速了解汇编语言什么是机器语言?汇编语言计算机的硬件动手编写第一个汇编程序继续学习汇编光速了解汇编语言什么是机器语言?要想了解什么是汇编语言,首先你得知道什么是机器语言!计算机能够直接识别的是由二进制数0和1组成的代码,它是不需要翻译直接就能识别(直接执行......
  • 电子文件的线上存储工具,你了解多少?
    信息化时代的来临,企业也纷纷跟随时代步伐进入现代化办公。信息时代最显著的特征就是纸质文件到电子文件的转变。企业一天的办公中,可能就会产出无数的电子文件,其中很多文件都是珍贵的业务经验,因此线上存储是企业需要考虑的问题。关于电子文件的线上存储工具,最常见的选择就是企业网盘......
  • 一篇文章了解SoapUI接口测试的全部流程
    SoapUI接口测试介绍相信很多人使用过SoapUI来做接口测试,SoapUI是一款很出色的API测试工具准备接口我们想要测试一个接口,那我们就得先准备好这个接口,方便后续的测试~所以我这里准备了一些接口,用来测试:并且我们在/pet/findByStatus接口中添加status参数SoapUI创建接口接着......
  • UE ActionRPG 项目拆解(二):默认武器斧子的 Normal Attack 技能为着手点,了解 GAS 的使用
    按键触发技能绑定(按下NormalAttack绑定的快捷键时,调用DoMeleeAttack函数)DoMeleeAttack函数中,调用ActivateAbilitiesWithItemSlot函数ActivateAbilitiesWithItemSlot函数中,调用了 AbilitySystemComponent->TryActivateAbility()函数至此我们知道:按下NormalAttack绑......
  • 软件体系结构概念架构设计
    某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查......
  • Go For Web:一篇文章带你用 Go 搭建一个最简单的 Web 服务、了解 Golang 运行 web 的原
    前言:本文作为解决如何通过Golang来编写Web应用这个问题的前瞻,对Golang中的Web基础部分进行一个简单的介绍。目前Go拥有成熟的Http处理包,所以我们去编写一个做任何事情的动态Web程序应该是很轻松的,接下来我们就去学习了解一些关于Web的相关基础,了解一些概念,以及......
  • 时间片 线程切换 指令周期 流水线 TPS的初步了解
    时间片线程切换指令周期流水线TPS的初步了解情况说明Redis单线程提供服务,可以支撑十万级别的TPS通过以个非常简单的测试redis-benchmark-c50-n50000pingIntel8369HB3.3Ghz14万TPS阿里倚天7102.7Ghz16万TPSAMD9T343.4Ghz22万TPS可......
  • Java | 一分钟掌握JDK命令行工具 | 2- 分类
     作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!JDK命令行工具分类命令行工具按照功能可以分为以下几个重要的大类:主要工具主要工具是用来完成主要工作的(废话),比如:编译、反编译、打包等等,以下是常见的:javac:您可以使用......
  • 深入了解Kubernetes(K8s):现代化容器编排和管理平台
    Kubernetes(简称K8s)是一种开源的容器编排和管理平台,用于自动化应用程序在容器化环境中的部署、扩展、管理和运维。Kubernetes最初由Google开发,并于2014年发布为开源项目,现在由CloudNativeComputingFoundation(CNCF)维护和管理。Kubernetes的设计目标是简化容器应用的部署、管理和......
  • 如何用Golang处理每分钟100万个请求
    用Golang处理每分钟100万个请求转载请注明来源:https://janrs.com/9yaq面临的问题在我设计一个分析系统中,我们公司的目标是能够处理来自数百万个端点的大量POST请求。web网络处理程序将收到一个JSON文档,其中可能包含许多有效载荷的集合,需要写入AmazonS3,以便我们的地图还原系统随后......