什么是分布式系统| 青训营笔记

125 阅读2分钟

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

集中式系统

集中式架构是指将应用的所有业务单元集中到一个或多个服务器上,也就是将整个应用都放在一起。这样做的好处是易于维护,但弊端也很明显,如果应用需要不断地进行迭代升级、这种集中式架构不利于拓展。

分布式系统

分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。这个架构使得业务可以分散到不同的计算机上,可以完成一些集中式架构中单个计算机难以完成甚至无法完成的任务。

使用环境

这么一看,分布式系统似乎比集中式系统更加强大,那是不是说明我们在部署的时候就要选择分布式架构呢?其实不是,只有当我们真正需要使用分布式系统时我们才去这么做,否则还应该继续使用分布式系统,因为相对于集中式系统,分布式系统会带来更多的问题。

分布式系统带来的问题

  • 网络质量。前面提到,分布式系统是将业务分散到了不同的服务器上,为了让这些服务器能够互相合作,首先要保证的是它们之间的通信情况。然而网络并不可靠,这些服务器必须克服这个问题。
  • 节点故障。在这一组服务器中,如果其中一台服务器因为某些原因宕机了,那么这台服务器所承载的任务就要转移到其它服务器上,这样也会给其它服务器带来压力,如果另一台服务器由于处理不当自己宕机了,那它俩的任务又要抛给下一个服务器了。
  • 通信协议。分布式系统允许这些服务器处于不同的地点,这时候进行通信还需要解决一些通信协议层面上的问题,增大了维护的压力与难度。

可见,除非我们逼不得已,不然就不应该使用分布式系统。

如有错误或疏漏,还望海涵。