单机结构

  • 一个系统业务;量很小的时候,所有代码都放在一个项目中就毫克,然后这个项目部署在一台服务器上就好了。
  • 然而,单机的处理能力毕竟是有限的,当你的业务增长到一定程度,单机的硬件资源将无法满足你的业务需求。此时便出现了集群模式。

    集群结构

  • 把单机复制一份,就构成了集群。集群中的每台服务器叫做这个集群的一个节点。每个节点都提供相同的服务
  • 一般会在所有的节点前加一个“调度者”的角色,用户的所有请求都先交给他,然后它根据当前所有结点的负载情况,把请求交给负载较小的节点处理,这个调度者就是负载均衡服务器。
  • 集群结构的有点事易于扩展,如果当前的系统支撑不住了,那就再增加结点。但是,当业务增加到一定程度时,你会发现无论怎么增加节点,整个集群结构的提升效果都不明显了。这时候,就需要使用分布式结构(微服务结构)。

    分布式

  • 将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,每个子系统被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。
  • 举个栗子,我们可以把一个在线商城拆分为用户服务、产品服务、订单服务、后台管理服务和数据分析服务等。这一个个服务都是独立的项目,可以独立运行。如果服务之间有依赖关系,那么通过RPC方式调用。
  • 优点:
  1. 系统之间的耦合度大大降低。
  2. 系统之间的耦合度降低,从而系统易于扩展。我们可以针对性地扩展某些服务。
  3. 服务的复用性高。比如,当我们将用户系统作为单独的服务后,该公司的所有产品都可以使用该系统作为用户系统,无需重复开发。

    总结