[转帖]一周文章导读:架构图;服务器;CPU

一周,文章,导读,架构图,服务器,cpu · 浏览次数 : 0

小编点评

**基础概念** 1. **架构:** 对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策。 2. **架构图:** 用于抽象的表示软件系统的整体轮廓和各个组件之间的相互关系和约束边界,以及软件系统的物理部署和软件系统的演进方向的整体视图。 3. **架构图的作用:** 解决沟通障碍 达成共识 减少歧义 **好的架构图分类方法** 1. **4+1视图:** 场景视图、逻辑视图、物理视图、处理流程视图、开发视图 **如何画好架构图** 1. 明确受众 2. 清晰地说明要传递的信息 3. 根据受众的不同,传递不同的信息 4. 考虑分类和作用 5. 确保自描述性、一致性和准确性

正文

Table of Contents

阿里巴巴的技术专家,是如何画好架构图的?

先厘清一些基础概念

1、什么是架构

2、什么是架构图

3、架构图的作用

4、架构图分类

怎样的架构图是好的架构图

服务器

服务器架构

1)X86架构服务器

2)RISC架构服务器

3)IA-64

服务器分类

如何设计和生产CPU?这篇文章说得最详细!

CPU设计过程



阿里巴巴的技术专家,是如何画好架构图的?

https://mp.weixin.qq.com/s/rnRaXbVPro65eM4UgXK2Gw

技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能力。

本文作者阿里巴巴技术专家三画,分享了自己和团队在画好架构图方面的理念和经验,首发于阿里内部技术分享平台,阿里巴巴中间件授权转载,梓敬、鹏升和余乐对此文亦有贡献。

当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况:

  • 对着画布无从下手、删了又来?

  • 用一张图描述我的系统,并且让产品、运营、开发都能看明白?

  • 画了一半的图还不清楚受众是谁?

  • 画出来的图到底是产品图功能图还是技术图又或是大杂烩?

  • 图上的框框有点少是不是要找点儿框框加进来?

  • 布局怎么画都不满意……

如果有同样的困惑,本文将介绍一种画图的方法论,来让架构图更清晰。

先厘清一些基础概念

1、什么是架构

架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策。

架构是结构和愿景。

系统架构是概念的体现,是对物/信息的功能与形式元素之间的对应情况所做的分配,是对元素之间的关系以及元素同周边环境之间的关系所做的定义。

做好架构是个复杂的任务,也是个很大的话题,本篇就不做深入了。有了架构之后,就需要让干系人理解、遵循相关决策。

2、什么是架构图

系统架构图是为了抽象的表示软件系统的整体轮廓和各个组件之间的相互关系和约束边界,以及软件系统的物理部署和软件系统的演进方向的整体视图。

3、架构图的作用

一图胜千言。要让干系人理解、遵循架构决策,就需要把架构信息传递出去。架构图就是一个很好的载体。那么,画架构图是为了:

  • 解决沟通障碍

  • 达成共识

  • 减少歧义

4、架构图分类

搜集了很多资料,分类有很多,有一种比较流行的是4+1视图,分别为场景视图、逻辑视图、物理视图、处理流程视图和开发视图。

  • 场景视图

场景视图用于描述系统的参与者与功能用例间的关系,反映系统的最终需求和交互设计,通常由用例图表示。

  • 逻辑视图

逻辑视图用于描述系统软件功能拆解后的组件关系,组件约束和边界,反映系统整体组成与系 统如何构建的过程,通常由UML的组件图和类图来表示。

  • 物理视图

物理视图用于描述系统软件到物理硬件的映射关系,反映出系统的组件是如何部署到一组可 计算机器节点上,用于指导软件系统的部署实施过程。

  • 处理流程视图

处理流程视图用于描述系统软件组件之间的通信时序,数据的输入输出,反映系统的功能流程 与数据流程,通常由时序图和流程图表示。

  • 开发视图

开发视图用于描述系统的模块划分和组成,以及细化到内部包的组成设计,服务于开发人员,反映系统开发实施过程。

以上 5 种架构视图从不同角度表示一个软件系统的不同特征,组合到一起作为架构蓝图描述系统架构。

怎样的架构图是好的架构图

上面的分类是前人的经验总结,图也是从网上摘来的,那么这些图画的好不好呢?是不是我们要依葫芦画瓢去画这样一些图?

先不去管这些图好不好,我们通过对这些图的分类以及作用,思考了一下,总结下来,我们认为,在画出一个好的架构图之前, 首先应该要明确其受众,再想清楚要给他们传递什么信息 ,所以,不要为了画一个物理视图去画物理视图,为了画一个逻辑视图去画逻辑视图,而应该根据受众的不同,传递的信息的不同,用图准确地表达出来,最后的图可能就是在这样一些分类里。那么,画出的图好不好的一个直接标准就是:受众有没有准确接收到想传递的信息。

明确这两点之后,从受众角度来说,一个好的架构图是不需要解释的,它应该是自描述的,并且要具备一致性和足够的准确性,能够与代码相呼应。


服务器

https://mp.weixin.qq.com/s/8H8ia202SxUQswlKwVhd9A

服务器架构

1)X86架构服务器

  IA-32、x86-32、x86-64都属于x86,即英特尔的32位x86架构,x86-64是AMD在其最新的Athlon 64处理器系列中采用的新架构,但这一处理器基础架构还是IA-32(因英特尔的x86架构并未申请专利保护,所以绝大多数处理器厂商为了保持与Intel的主流处理器兼容,都不得不采用这一x86架构),只是在此架构基础之上作了一些扩展,以支持64位程序的应用,进一步提高处理器的运算性能。

2)RISC架构服务器

  RISC的英文全称为“Reduced Instruction Set Computing”,中文即“精简指令集”,它的指令系统相对简单,它只要求硬件执行很有限且最常用的那部分执令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU,并且此类服务器都采用UNIX操作系统。
  在中高档服务器中采用RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的Power PC、SGI公司的MIPS和SUN公司的Sparc。

3)IA-64

 EPIC(Explicitly Parallel InstructionComputers,精确并行指令计算机)。Intel采用EPIC技术的服务器CPU是安腾Itanium。它是64位处理器,也是IA-64系列中的第一款。在Intel采用了X86指令集之后,它又转而寻求更先进的64-bit微处理器,Intel这样做的原因是,它们想摆脱容量巨大的x86架构,从而引入精力充沛而又功能强大的指令集,于是采用EPIC指令集的IA-64架构便诞生了。IA-64在很多方面来说,都比x86有了长足的进步。突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高。IA-64微处理器最大的缺陷是它们缺乏与x86的兼容。

服务器分类

  1. 域控制服务器(Domain Server)
  2. 文件服务器(File Server)
  3. 打印服务器(Print Server)
  4. 数据库服务器(Database Server)
  5. 邮件服务器(E-mail Server)
  6. Web服务器(Web Server)
  7. 多媒体服务器(MultimediaServer)
  8. 通讯服务器(Communication Server)
  9. 终端服务器(Terminal Server)
  10. 基础架构服务器(Infrastructure Server)
  11. 虚拟化服务器(Virtualization Server)

如何设计和生产CPU?这篇文章说得最详细!

https://mp.weixin.qq.com/s/R6kuv60e8X3dLRYk0YsO3w

4级流水线示例。彩色方框表示相互独立的指令。(图片来源:维基百科)

在典型的处理器上,每个核心将有两个L1缓存:一个用于数据缓存,一个用于指令缓存。L1缓存的总容量通常在100KB左右,大小可能因芯片和代际而异。每个核心通常也有一个L2缓存,尽管在某些体系结构中,它可能在两个核心之间共享。L2缓存通常为几百KB。最后,还有一个L3缓存在所有核心之间共享,大小为几十MB。

CPU设计过程

https://blog.csdn.net/Rong_Toa/article/details/96720280

 

与[转帖]一周文章导读:架构图;服务器;CPU相似的内容:

[转帖]一周文章导读:架构图;服务器;CPU

Table of Contents 阿里巴巴的技术专家,是如何画好架构图的? 先厘清一些基础概念 1、什么是架构 2、什么是架构图 3、架构图的作用 4、架构图分类 怎样的架构图是好的架构图 服务器 服务器架构 1)X86架构服务器 2)RISC架构服务器 3)IA-64 服务器分类 如何设计和生产

[转帖]使用U盘安装银河麒麟服务器操作系统V10SP2出现“设置基础软件仓库时出错”报错导致无法继续安装的解决方法

文章目录 一、复现步骤二、解决方法方法①:配置银河麒麟外网源(仅限于互联网环境)方法②:修改安装引导启动参数 一、复现步骤 操作系统版本:银河麒麟高级服务器操作系统V10SP2-20210524(x86_64) 使用Rufus工具制作U盘启动盘; 修改启动项,选择从U盘启动; 进入系统安装界面,这里

[转帖]炸了~Redis bigkey导致生产事故-bigkey问题全面分析

文章首发于公众号:BiggerBoy 原文链接 一个Redis生产事故的复盘,整理这篇文章分享给大家。本期文章分析Redis中的bigkey相关问题,主要从以下几个点入手: 文章目录 什么是bigkey?bigkey的危害bigkey的产生如何发现bigkey实际生产的操作方式 如何优化bigkey

[转帖]炸了~Redis bigkey导致生产事故-bigkey问题全面分析

https://blog.csdn.net/ibigboy/article/details/124216874 文章首发于公众号:BiggerBoy 原文链接 一个Redis生产事故的复盘,整理这篇文章分享给大家。本期文章分析Redis中的bigkey相关问题,主要从以下几个点入手: 文章目录 什么

[转帖]软链接和硬链接详解

http://blog.itpub.net/69955379/viewspace-2916283/ 导读 下的链接文件有点类似于Windows的快捷方式,但又不完全一样。链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接)。下面我给大家说说它们两者之间的区别。 硬链接 硬链接是通过索引节点进

[转帖]Linux 监测服务心跳、服务重启策略

文章目录 前言背景一、curl服务可用验证二、服务探测脚本三、配置系统定时任务四、Linux特殊字符转义总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容,下面案例可供参考 背景 当服务假死情况下,导致服务不可用,一时间定位不到服务假死原因,可以采用

[转帖]Skip List--跳表(全网最详细的跳表文章没有之一)

https://www.jianshu.com/p/9d8296562806 跳表是一种神奇的数据结构,因为几乎所有版本的大学本科教材上都没有跳表这种数据结构,而且神书《算法导论》、《算法第四版》这两本书中也没有介绍跳表。但是跳表插入、删除、查找元素的时间复杂度跟红黑树都是一样量级的,时间复杂度都是

[转帖]解读内核 sysctl 配置中 panic、oops 相关项目

写在前面 本篇文章的内容主要来自内核源码树 Documentation/admin-guide/sysctl/kernel.rst文件。 softlockup vs hardlockup softlockup 是一种触发系统在内核态中一直循环超过 20 秒导致其它任务没有机会得到运行的 BUG。 h

【转帖】纳尼,mysqldump导出的数据居然少了40万?

0、导读 用mysqldump备份数据时,加上 -w 条件选项过滤部分数据,发现导出结果比实际少了40万,什么情况? 本文约1500字,阅读时间约5分钟。 1、问题 我的朋友小文前几天遇到一个怪事,他用mysqldump备份数据时,加上了 -w 选项过滤部分数据,发现导出的数据比实际上少了40万。

【转帖】【奇淫技巧】Linux | 查找文件,无所遁形

theme: channing-cyan 本文正在参与 “走过Linux 三十年”话题征文活动 在Linux系统上,最常见的操作莫过于处理文本。常见文件操作陈列、查找、排序、格式转换、数据流处理等等。这篇文章着眼于文件查找,分析locate和find命令的使用方法,和运用原理以及缺陷不足。 一、导读