分布式 | 青训营笔记

83 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天

分布式

背景

简单来说就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。

种类

分布式应用和服务(微服务)

将应用和服务进行分层和分割,然后将应用和服务模块进行分布式部署。这样做不仅可以提高并发访问能力、减少数据库连接和资源消耗,还能使不同应用复用共同的服务,使业务易于扩展。

分布式数据和存储(分库分表)

大型网站常常需要处理海量数据,单台计算机往往无法提供足够的内存空间,可以对这些数据进行分布式存储。

分布式计算(云计算)

随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

优点

可拓展性

又叫可伸缩性,主要强调“伸”;偶尔也强调“缩”。

在资源和用户数较大增长的情况下,系统性能仍能维持甚至提高。

通常表现为:

  • 利用硬件环境可以为更多的用户服务、而且响应更快
  • 通常通过增加更多/更快的处理器,能实现更可靠、更完善的服务

高性能

分布系统中的各个组成部分可以在并发的过程中被执行。这样一个复杂的问题可以拆解成多个简单的小问题,从而提升系统的吞吐量。

通常表现在:

  • 多个用户同时访问(和更新)资源
  • 多个服务进程同时运行,相互协作

高可用

一台服务器的系统崩溃不会影响到其他的服务器。从而可以保障系统的高可用。

通常表现在: 服务模块化,订单系统、商品系统互不影响