导图社区 四大主流的CPU架构
这是一篇关于四大主流的CPU架构的思维导图,主要内容包括:RISC和CISC的区别,MIPS架构,RISC-V架构,ARM架构,X86架构。
编辑于2024-03-25 15:57:13四大主流的CPU架构
X86架构
采用复杂指令集架构(CISC),程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的
ARM架构
是一个32位的精简指令集架构(RISC)
RISC-V架构
基于精简指令集架构(RISC)原理建立的开放指令集架构
MIPS架构
是一种采取精简指令集(RISC)的处理器架构,可支持高级语言的优化执行
RISC和CISC的区别
RISC
1、一条指令完成一个基本“动作”,多条指令组合完成一个复杂的基本功能,一般小于100条 2、代表:ARM架构、RISC-V架构、MIPS架构,主要用于手机、平板等 3、特点:RISC控制方式采用组合逻辑控制器,效率更高。各种指令执行时间相差不大,便于实现“并行”、“流水线”
CISC
1、设计思路:一条指令完成一个复杂的基本功能,一般大于200条 2、代表:x86架构,主要用户笔记本、台式机等 3、特点:CISC控制方式普遍采用微程序控制器,指令的长度不固定,指令格式多,寻址方式多,各种指令执行时间相差很大,大多数指令需要多个时钟周期才能完成。有些指令非常复杂,以至于无法采用硬连接控制
云计算和openstack的区别
云计算
概念
目前市面上的云计算大致框架都差不多,都是底层部署物理服务器后,在上层通过xen/kvm等虚拟化技术部署一层虚拟化层,然后再将集群资源纳管分配到管理层。
代表
其主要代表就是阿里云的飞天架构平台 阿里云飞天开放平台是在数据中心的大规模 Linux 集群之上构建的一套综合性的软硬件系统,将数以千计的服务器联成一台“超级计算机”。
飞天组成
盘古:存储虚拟化。具有分布式文件系统 伏羲:分布式调度(CPU 调度、内存调度、进程调度等多种形式) 后羿:负责计算和网络的虚拟化 夸父:负责模块网络通信 女娲:分布式协同(消息队列、一致性管理) 神农:监控模块
openstack
概念
openstack是一种开源的云计算管理平台,采用了模块化的架构,每个模块都提供了API接口,用户可以通过这些API接口来使用OpenStack的各种功能。
代表
天翼云、华为云
openstack组成
nova:计算虚拟化 neutron:网络虚拟化 cinder:块存储虚拟化 swift:对象存储 glance:虚拟机镜像服务 keystore:安全服务 celiometer:监控服务
负载均衡
概念
负载均衡是将访问的流量根据转发策略分发到后端的服务器上的一种应用组件,其主要转发策略有:轮询、加权轮询、加权最小连接数、一致性哈希
主要作用
负载均衡的作用: 1、解决服务器的高并发压力,提高应用程序的处理性能; 2、提供故障转移,实现高可用; 3、通过添加或减少服务器数量,增强网站的可扩展性; 4、在负载均衡器上进行过滤,可以提高系统的安全性。
主要模式
TCP/IP四层协议
四层主要是采用开源的lvs+keepalived的方式实现负载均衡
http/https七层协议
七层主要是采用tengine实现负载均衡,Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能和特性
oss和nas的区别
概念
oss
概念
oss对象存储是一种即开即用、开源的分布式存储方式。 使用oss,可以通过网络随时存储和调用文本、图片、音频和视频等在内的各种非结构化数据文件 OSS将数据文件以对象(Object)的形式上传到存储空间(Bucket)中,提供键值对(Key-Value )形式的对象存储服务,可以根据Object的名称(Key)获取该Object的内容
组成
object(对象):Object是OSS存储数据的基本单元,即OSS的文件,由元信息(Object Meta)、用户数据( Data)和文件名(Key)组成 bucket(存储空间):存储空间是用于存储Object的容器,所有的Object都必须属于某个存储空间
nas
概念
nas网络附加存储,即将存储设备连接到现有的网络上,基于TCP/IP协议提供数据和文件服务,支持网络文件共享协议CIFS、NFS。NAS实际上就是一个优化了的文件服务器
组成
NAS基本特点: NAS 能够安装多个硬盘,它具备存储功能。 NAS 能通过网线传输数据,它具备网络功能。 NAS 配备一套系统和软件,它具备服务功能。
区别
用途
OSS主要关注软件层面,广泛用于软件开发 NAS更像是硬件设备,主要用于提供网络上的文件共享服务
docker和k8s的区别
概念
docker
概念
docker可以理解成是一个系统的进程 docker作为一个容器化技术,可以将应用程序所需要的库、依赖和配置打包到一个docker镜像的容器中,能够将应用程序在任何环境中运行。因此在一些业务场景中,docker是一个成本低、隔离性好、部署方便的容器化产品
组成
镜像:docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像 容器:镜像中的应用程序运行后形成的进程就是容器,只是docker会给容器进程做隔离,对外不可见 Docker是一个CS架构的程序,由两部分组成: 服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等 客户端(client):通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令。
K8S
概念
K8S是一个分布式的容器编排系统,可以负责容器的自动化部署、扩展和管理,并通过集群自动化来实现高可用性和负载均衡
组成
master:K8S的集群控制节点,负责整个集群的管理和控制,拥有一个etcd服务,用来保存所有资源对象的数据,我们执行的所有控制命令会发给他,他负责具体的执行过程,Master节点通常会独占一个服务器,在其上会运行以上一组关键的进程 node:K8S集群中的其他机器被称为Node节点,Node节点可以是一台物理主机,也可以是一台虚拟机,每个Node节点会被Master节点分配一些负载,所以Node节点是Kubernetes集群中工作负载节点,当某个Node节点宕机时,工作负载会被Master自动转移到其他节点。 pod:Pod是K8S进行创建、调度和管理的最小单位,Pod运行在Node节点之上,其中包含多个业务容器,这些业务容器之间共享网络命名空间、Ip地址、端口,可以通过localhost进行通讯。Pod有两种类型:普通Pod和静态Pod
组件
Etcd:保存整个集群的状态。 API Server:提供认证、授权、访问控制、API注册和发现等机制,是资源操作的唯一入口。 Kurbernetes Controller:负责维护集群的状态。 Scheduler:负责资源的调度。 kubelet:负责维护容器的生命周期,同时管理Volume和网络。 Container:负责镜像管理以及Pod和容器的真正运行。 kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡。
消息队列
概念
消息队列是一种应用间的通信方式,主要用于异步通信方式中。通过消息队列这个中间件,能够允许应用程序、服务或者组件在队列中发送和接收消息来进行业务的通信
应用场景
1、应用耦合:多个应用之间能够同时处理一条消息,这样可以避免调用接口时间过长和调用失败 2、异步解耦:生产者和消费者可以不受时间和空间上的限制,并行去处理队列中的消息 3、削峰填谷:当某一段时间的业务流量过高时,可以调整队列中消息的处理速率来降低高峰值流量,进行流量控制,一般用于秒杀或者抢购活动中,避免系统处理过多而导致崩溃。
主要模式
1、点对点模式:生产者和消费者 生产者:用来发送消息的组件 消费者:用来接收消息的组件 这个模式是原始的模式,当消费者过多时,则会出现竞争关系,因此在不同的业务场景下会用到另外一种模式:发布-订阅模式 2、发布-订阅模式:发布者、topic、group、订阅者 在这个模式下,消息可以被多次消费 这两种模式都可以理解成单播和广播
异地容灾
概念
异地容灾是指在不同的区域或者是不同的地理位置创建一套或者多套相同的应用及数据库,当主要节点位置出现故障时能迅速切换到备用节点以保证应用或者数据库的稳定运行。
基本原理
异地容灾的基本原理是通过TCP/IP协议,将本地的数据实时上传到异地的服务器或者oss对象存储中,当主要节点位置出现故障时,则可以通过快照、跨地数据备份集或者镜像复制技术等在异地进行数据还原和操作回滚。 异地容灾系统会定期检查主数据库的健康状态,当出现故障时,会优先触发自动切换,当自动切换不生效时,由运维人员手动切换至备用节点数据库