码迷,mamicode.com
首页 > 其他好文 > 详细

分布式系统概念总结

时间:2021-06-15 18:29:45      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:领域模型   维护   不同的   style   相关   响应时间   规律   rgba   并行计算   

分布式技术的体系结构

技术图片

横向划分:分布式资源池化、分布式通信、分布式数据存储与管理、分布式计算。这样的划分符合业务架构设计的一般规律,即"在一定资源上,进行一定通信,通过一定计算,完成一定数据的加工和处理,从而对外提供特定的服务"。这样的划分符合业务架构设计的一般规律,即"在一定资源上,进行一定通信,通过一定计算,完成一定数据的加工和处理,从而对外提供特定的服务"。

纵向划分:在分布式环境下,无论是资源、通信、数据还是计算,都需要去解决协同、调度、追踪高可用,还有部署的问题。因此,我从横向的技术层次中,提炼出分布式协同、分布式调度、分布式追踪与高可用、分布式部署 4 个纵向技术线。

 

分布式的发展历史

 

单机模式

 

应用程序和数据均部署在一台电脑或服务器上,由一台计算机完成所有的处理。

以铁路售票系统来说,应用模块包含用户管理火车票管理订单管理。数据包括了用户数据火车票数据订单数据。所有这些应用和数据均由一台计算机处理完成。

优点:数据存储、请求处理均由该计算机完成。功能、代码和数据集中,便于维护、管理和执行。

缺点:单个计算机的处理能力取决于 CPU 和内存等硬件,但硬件的发展速度和性能是有限的,而且升级硬件的性价比也是我们要考虑的,由此决定了 CPU 和内存等硬件的性能将成为单机模式的瓶颈。

 

技术图片

数据并行或数据分布式

 

并行计算:采用消息共享模式使用多台计算机并行运行或执行多项任务,核心原理是每台计算机上执行相同的程序,将数据进行拆分放到不同的计算机上进行计算

在单机模式中,应用和数据均在一台计算机或服务器上,要实现数据的并行,首先必须将应用和数据分离以便将应用部署到不同的计算机或服务器上;然后,对同类型的数据进行拆分,比方说,不同计算机或服务器上的应用可以到不同的数据库上获取数据执行任务。

对于铁路售票系统来说,根据线路将用户、火车票和订单数据拆分到不同的数据库中,部署到不同的服务器上,比如京藏线的数据放在数据库服务器 1 上的数据库中,沪深线的数据放在数据库服务器 2 上的数据库中。

技术图片

优点:可以利用多台计算机并行处理多个请求,使得我们可以在相同的时间内完成更多的请求处理,解决了单机模式的计算效率瓶颈问题。

缺点:1.如何进行比较均衡地转发调度到对应的应用服务器上2.数据库的读写IO能力存在瓶颈,需要进行对数据库的读写分离3.热点数据访问能力,需借助缓存实现4.对于单个请求特别复杂,并行计算无法解决问题

 

任务并行或任务分布式

 

将单个复杂的任务拆分为多个子任务,从而使得多个子任务可以在不同的计算机上并行执行。

以铁路售票系统为例,任务并行首先是对应用进行拆分,比如按照领域模型将用户管理、火车票管理、订单管理拆分成多个子系统分别运行在不同的计算机或服务器上。换句话说,原本包括用户管理、火车票管理和订单管理的一个复杂任务,被拆分成了多个子任务在不同计算机或服务器上执行。

优点:一个任务被拆分为多个子任务,多个子任务可以在多台计算机上运行,因此通过将同一任务待处理的数据分散到多个计算机上,在这些计算机上同时进行处理,就可以加快任务执行的速度

缺点:设计上复杂且大型业务拆分存在困难

技术图片

分布式是什么?

 

分布式其实就是将相同的或相关的程序运行在多台计算机上,从而实现特定目标的一种计算方式;产生分布式的最主要的驱动力量是我们对于性能、可用性以及扩展性的追求。

 

衡量分布式系统的指标

 

性能指标

 

响应时间

 

资源占用

 

可用性

 

可扩展性

分布式系统概念总结

标签:领域模型   维护   不同的   style   相关   响应时间   规律   rgba   并行计算   

原文地址:https://www.cnblogs.com/yurongfeng/p/14885004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!