这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天
分布式
背景
简单来说就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。
种类
分布式应用和服务(微服务)
将应用和服务进行分层和分割,然后将应用和服务模块进行分布式部署。这样做不仅可以提高并发访问能力、减少数据库连接和资源消耗,还能使不同应用复用共同的服务,使业务易于扩展。
分布式数据和存储(分库分表)
大型网站常常需要处理海量数据,单台计算机往往无法提供足够的内存空间,可以对这些数据进行分布式存储。
分布式计算(云计算)
随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
优点
可拓展性
又叫可伸缩性,主要强调“伸”;偶尔也强调“缩”。
在资源和用户数较大增长的情况下,系统性能仍能维持甚至提高。
通常表现为:
- 利用硬件环境可以为更多的用户服务、而且响应更快
- 通常通过增加更多/更快的处理器,能实现更可靠、更完善的服务
高性能
分布系统中的各个组成部分可以在并发的过程中被执行。这样一个复杂的问题可以拆解成多个简单的小问题,从而提升系统的吞吐量。
通常表现在:
- 多个用户同时访问(和更新)资源
- 多个服务进程同时运行,相互协作
高可用
一台服务器的系统崩溃不会影响到其他的服务器。从而可以保障系统的高可用。
通常表现在: 服务模块化,订单系统、商品系统互不影响