【名词解释】行业内的一些名词代码含义

1  含义

在我们这行,从上学的时候到现在,一路上发现有好多的名词,有技术上的,有设计上的,有业务上的,这里就来记录下平时一些看到的。

MTBF:(Mean Time Between Failure,平均可用时长)系统正常、稳定运行的平均时长

MTTR:(Mean Time To Repair,平均修复时长)系统从失效后到恢复正常所耗费的平均时长

SLA:(Service-Level Agreement,服务等级协议)评估服务可用性等级,公式:MTBF/(MTBF+MTTR) 

QPS:(Queries Per Second,每秒查询率)

NAS:(Network Attached Storage:网络附属存储)

DDNS:(Dynamic Domain Name Server,动态域名服务)
 
IaaS:(Infrastructure as a Service,基础设施即服务)通过虚拟化技术在宿主机上虚拟出多个运行环境,应用部署在虚拟出来的运行环境里。目前比较常用的是主机虚拟化和容器虚拟化。
主机虚拟化是指利用软件来虚拟整套计算机硬件,也就是 VM (Virtual Machine,虚拟机) 。操作系统可以运行在虚拟机上。业内比较成熟的方案主要有 VMware、KVM、Xen,配合 OpenStack 之类的云计算管理平台来管理、调度虚拟机。我们经常听到的云主机就是利用了主机虚拟化技术。
虚拟机通常配合 SDN (Software Defined Network,软件定义网络) 和 SDS (Software Defined Storage,软件定义存储) 等技术来使用,用来实现虚拟机的网络高可用和存储高可用。
容器虚拟化技术是指利用 Linux 命名空间技术,在 Linux 系统里划分出多个互相隔离的运行环境,可以为每个运行环境单独分配资源。比如现在比较火的 Docker 便是使用了容器虚拟化技术。
虽然虚拟机有这些好处,但它的程序执行效率要比物理机差,毕竟多了一层指令翻译器用于翻译机器指令。在微服务时代,如果每个微服务都用虚拟机来实现资源隔离,物理机的性能会大打折扣。而容器虚拟化技术很好地解决了这个问题,算是对虚拟机能力的一个补充。
另外, Docker 和 Kubernetes 的出现,则将容器虚拟化技术大规模应用起来了。利用 Kubernetes 强大的调度能力、网络管理能力以及滚动更新机制,IaaS 层的可用性得到进一步提升。
PaaS:(Platform as a Service,平台即服务)云产商将通用组件打包部署在已有的主机上,并提供访问组件的 SDK 或者 API,开发者修改应用的代码引入 SDK 或者调用 API 来访问云产商提供的通用组件。比如:在阿里云上购买数据库产品,修改应用程序代码访问购买的数据库产品。PaaS 的出现主要是为了解决 IaaS 上基础组件分发的问题。
SaaS:(Software as a Service,软件即服务)不仅提供软件的后端,还提供软件的前端页面,达到开箱即用的效果。SaaS 系统可以通过同城双活、异地备份、多云部署等方案来降低单云单机房故障的风险。比如:将系统同时部署在阿里云和 AWS 上,即使 AWS 故障了,也能快速切到阿里云。不同云之间使用专线同步数据。
 

DDD:(Domain Drive Design,领域驱动设计)是一种软件设计方法,是指在软件设计的过程中始终围绕领域来构建模型。构建领域模型的过程就叫“领域建模”。

架构设计方法:

TOGAF(The Open Group Architecture Framework,开放组件系结构框架)TOGAF 主要针对复杂的企业系统架构,比较重,不大适合迭代速度非常快的互联网产品,所以互联网公司常用的主要是五视图方法。

五视图方法:从业务逻辑、开发环境、运行状态、物理部署、数据关系等方面绘制出相应的逻辑视图、开发视图、运行视图、物理视图、数据视图来设计架构。其中,逻辑视图、开发视图、运行视图属于软件架构的内容,物理视图、数据视图属于系统架构的内容。

逻辑视图:对应逻辑架构,主要关注功能需求,以及系统职责和行为的划分。逻辑视图不仅包括用户可见的功能,还包括相应的辅助功能。比如秒杀系统中的活动场次切换、商品列表、用户登录、活动管理、后台权限等功能,其中后台权限属于辅助功能。

开发视图:对应开发架构,主要关注系统开发过程中的质量属性。它包括软件源码的组织方式、配置方式、编译打包方式以及与第三方包的依赖关系等。

运行视图:对应运行架构,主要关注软件运行过程中的质量属性,它包括进程、线程、协程、对象之间的并发、同步、通信的问题等。比如,秒杀系统在运行时有用于从队列消费数据的协程,有用于过滤请求并将有效请求写入队列的协程,这就需要好的设计来解决它们之间并发、同步、通信的问题。

物理视图:对应物理架构,主要关注安装和部署需求。它包括软件运行时的系统、网络、服务器等基础设施和相关配置,以及如何利用基础设施来实现应用程序的高可用、可伸缩等。比如秒杀系统使用云厂商的 SLB(Server Load Balancer,负载均衡器)来提供负载均衡能力,使用云厂商的多可用区来实现高可用。

数据视图:对应数据架构,主要关注数据需求,它包括数据的格式、属性、关系等。比如,秒杀系统中活动场次与活动主题、活动商品的关系和属性,管理员可以通过管理后台创建、修改和删除活动主题、场次、商品等。

 
posted @   酷酷-  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示