网站域名查询微信开放平台官方网站
2026/5/18 18:47:20 网站建设 项目流程
网站域名查询,微信开放平台官方网站,爱站网是干嘛的,哪个网站可以直接做ppt文章目录1. 什么是分布式系统1.1 集中式系统1.1.1 特点1.2 分布式系统1.2.1 特点2. 单机和集群以及分布式的关系2.1 单机2.2 集群2.3 分布式2.4 生活场景类比3. 分布式与微服务4. 为什么需要分布式系统4.1 高性能4.2 可扩展性4.3 高可用性5. 分布式架构与单机架构对比1. 什么是…文章目录1. 什么是分布式系统1.1 集中式系统1.1.1 特点1.2 分布式系统1.2.1 特点2. 单机和集群以及分布式的关系2.1 单机2.2 集群2.3 分布式2.4 生活场景类比3. 分布式与微服务4. 为什么需要分布式系统4.1 高性能4.2 可扩展性4.3 高可用性5. 分布式架构与单机架构对比1. 什么是分布式系统分布式系统是相对于单机系统或者是集中式系统的一个概念在明确分布式系统的概念之前先来看下集中式系统的定义1.1 集中式系统集中式系统通常由一台性能超强的大型计算机来构成构成一个中心节点数据集中存储于这个中心节点上并且整个系统的所有业务单元都集中部署在这个中心节点上所有的业务逻辑都集中在这个中心节点上处理1.1.1 特点这种集中式系统的最大特点就是结构简单因为它一般是在一台高性能的单机节点上实现的这台主机往往价格十分昂贵。由于是单机部署所以不用考虑各个节点之间的分布式协作问题所有的逻辑都由这个节点一体化处理。也正是由于单机部署导致整个单机系统庞大而复杂难以维护并且还会存在单点故障扩展性差等问题。单机系统要扩展只能选用性能更高的主机这往往意味着更高的成本而且单机性能总有上限也不容易达到性能要求1.2 分布式系统分布式系统可以看作是针对单机系统的瓶颈而产生的采用的是“分治”的思想将计算和存储分散到不同的网络节点上彼此协调服务。可以给分布式系统下一个定义分布式系统是硬件和软件都分布在不同的网络主机上这些网络主机之间通过传递消息进行通信和协调共同完成一个任务的系统1.2.1 特点分散性分布式系统中的节点都是独立运行的并且可以在空间任意分布而且可以随时变动。这种分散特性可以有效的提高分布式系统的可用性和伸缩性并且具备很强的容错能力并发性分布式系统中有多个进程并发的运行从而实现更高的性能异构性分布式系统中的节点可能具有不同的硬件和操作系统甚至不同的进程可能有不同的编程语言完成容错性分布式系统可以通过备份、复制以及一些容错算法来避免单点故障提高系统的可靠性可扩展性分布式系统可以灵活的增加和删除系统资源来适应不同的业务场景透明性分布式系统对外是无感知的对用户而言感觉系统就是一个整体2. 单机和集群以及分布式的关系2.1 单机单机其实很好理解如上面集中式系统的图示比如一个电商系统最基本的需求用户需要查看商品所以需要对外提供商品服务用户还需要查看物流信息以及一些售后处理所以系统还需要提供订单服务和物流服务。除了这些业务服务之外系统还有一些提供基础功能的服务比如文件服务缓存服务等在单机系统中这些服务都集中在一台机器上运行这就是单机架构2.2 集群单机架构的缺陷和明显就是单机硬件资源瓶颈有限的单机资源无法支撑大的业务量。那既然一台机器不行就用多台机器不就可以了嘛这样就催生出了集群架构。所以集群可以认为是单机的多副本模式将原本的单机系统复制多分部署在多台机器上这样就构成了一个集群。每台机器就称为集群的一个节点注意集群中的每个节点干的是相同的工作提供的是相同的服务在构建集群模式之后很快就发现一个问题当一个请求来到的时候由于多个节点都是提供相同的服务不可能这个请求在所有节点都跑一遍那样就没有解决性能瓶颈问题了只需要让这次请求打到某一个节点上让这个节点来处理就可以了这就是后面会详细讨论的负载均衡策略2.3 分布式集群的方式虽然可以有效解决单机资源瓶颈的问题但是在单台机器上所有的业务都在一起耦合度太高这个系统庞大而复杂维护起来也很麻烦。所以以应用系统的业务功能作为出发点并将每个业务功能拆分成一个完全独立子系统这些子系统之间通过传递消息进行通信和协调共同完成一个任务的系统。可以看出集群是相同应用的多备份部署同一份代码功能相同。而分布式是将业务拆成了不同的子业务每个子业务有单独的服务部署功能都不一样这些子业务一起组成一个完整的系统。所以相比于集群分布式的每个子系统是有区别的上图所示就是一个分布式系统并且是一个分布式集群将电商业务拆成了多个服务部署到了不同的服务器并且订单服务物流服务还有商品服务都是集群化部署部署了多份当然这个例子只是为了说明分布式和集群的关系现在真正的业务场景一般不会这样部署了不会一台服务器部署一个应用服务都是容器化多实例部署2.4 生活场景类比比如说有一家饭店刚开业的时候由于客户量不大所以只聘请了一位厨师这位厨师承包了所有的工作既负责配菜又负责炒菜还负责上菜由于客人不多完全能够应付这种场景就相当于是最开始的单体架构后来随着饭店名气越来越大来的客人越来越多此时一位厨师不够用了所以聘请了多位厨师但是每位厨师还是跟以前一样干所有的活儿只是加大了人手并没有分工。这种场景就相当于是集群架构再后来饭店规模进一步扩大为了便于管理和扩张对厨师岗位进行了分工有专门配菜的厨师也有负责炒菜的厨师有的专门负责上菜。这种场景就相当于是分布式架构3. 分布式与微服务熟悉了分布式的概念这里需要强调一下分布式和微服务的关系首先看一下微服务的定义微服务是一种软件设计理念它是面向服务的将大的系统或者是服务拆分成一组小的且相互独立的服务。这些小的服务都是独立运行的并且每个小服务有自己的数据库、业务逻辑服务之间通过网络进行通信和协作。这组小服务一起协作对外提供服务共同完成一个系统的任务。看定义其实微服务和分布式很像都是分治的思想加大系统拆成小单元共同对外提供服务。他们之间的关系可以这样概括微服务其实是一种特定的分布式系统架构风格分布式是一种系统架构的范畴而微服务是分布式系统的一种具体实现方式微服务将应用程序拆分成小的、自治的服务单元通过网络进行通信和协作来完成系统任务。分布式有很多种实现方式微服务并不是它唯一的实现方式4. 为什么需要分布式系统前面简单提到过分布式系统是针对单机系统的瓶颈而产生的这里就详细分析下分布式系统究竟可以解决哪些单机系统解决不了的问题4.1 高性能面对现在这种海量规模的互联网业务其实单机的物理硬件已经无法再有效支撑系统的高性能了。虽然说现在也有了一些超级计算机拥有多核cpu本身有着很强的计算能力但是即便是这种超级计算机依然无法突破物理限制并且随着机器性能越高其成本也会迅速上升所以分布式就自然而然成为了解决高性能的一种有效手段。分布式系统通过将多个廉价的计算机组合起来形成一个拥有足够的cpu内存以及物理磁盘的系统可以轻松突破物理瓶颈实现对高性能的需求并且更廉价4.2 可扩展性现今很多的业务场景都海量级的所以很多的应用都是数据密集型的有着海量的数据存储需求。并且随着业务规模的扩张用户增长迅速再加上已有的历史数据单机的存储根本就无法满足存储需求所以存储上也需要构建一套分布式存储系统可以让数据量方便的扩展4.3 高可用性前面也分析过单机系统一个很重大的缺陷就是单点故障这对于业务而言是完全不可接受的。尤其在现在基本上都要求服务能够7*24小时不间断的提供服务这就要求我们的服务必须具备高可用性显然单机系统无法做到。而分布式系统可以通过冗余数据备份来保证数据的可用性同时通过冗余计算实例跑两个相同的计算任务一个实例挂掉之后可以迅速切换到另一个达到计算高可用5. 分布式架构与单机架构对比虽然分布式作为单机系统的一种改进有着诸多优势但是并非银弹并不是所有的业务场景都适合分布式有的场景反而单机架构更切合以下用表格形式对分布式和单机架构做一个全方位的对比从表格的对比分析不难发现分布式其实也存在不少的问题比如在系统性能上虽然提高了吞吐量但是由于服务间的调用链导致一次请求的路径变长了有多段网络通信所以导致响应时间肯定是延长的所以对于一些响应时间要求很高的业务往往很少用微服务架构比如在某些游戏领域后台有的还是单体架构只是用了集群模式。另外由于分布式设计到服务拆分其设计难度也加大了对于系统故障的排查的难度也比单体上有所增加。所以综合来看分布式系统并非银弹它和单体架构都有各自的使用场景在做系统设计的时候要根据实际的业务场景出发选择合适的架构之后我会持续更新如果喜欢我的文章请记得一键三连哦点赞关注收藏你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 ↖(▔▽▔)↗感谢支持

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询