分布式的理解
之前一直听说过分布式这种思想,但是并没有真正的去理解过。上周课上老师讲了一遍,但也只是听懂几分。而且对于上课提到的集群也并不了解。所以下来就自己找了一下他们的相关资料。
最后得到的是三种结构:单机结构、集群结构、分布式结构
单机结构:
就像我们之前写项目一样,将所有的代码都放在一个项目中,然后这个项目部署在一台服务器上。整个项目所有的服务都由这台服务器提供。这就是单机结构。
显然,单机结构的缺陷很明显,当业务量小的时候,这台服务器能够支撑得起这个项目。但是当业务量越来越大的时候,这台服务器自然就支撑不住了。
集群结构:
当单机的处理无法支撑一个项目的时候,可以试试集群结构。集群简单理解就是把单机复制几分,一起组成的就是集群。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点
都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍。
但是当业务量继续上升,你当然可以继续增加服务器,但是当业务量到达一定程度时,可能集群的性能就没那么明显了。所以设计结构需要提升。
分布式结构:
(语言组织不好)搬用维基百科的定义:
在计算机科学中,分布式计算(英语:Distributed computing),又译为分散式运算。这个研究领域,主要研究分布式系统(Distributed system)如何进行计算。分布式系统是一组电脑,通过网络相
互链接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分区成小块,由多台计算机分别计算,再上传运算结果后,
将结果统一合并得出数据结论的科学。
所以分布式就是不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题。
拿下图商城系统来理解:
manager admin和portal同属controller层,但是manage admin 所需要的资源远远没有portal多 所以将他们分别部署在不同的服务其上,来实现资源的合理充分利用。