zoukankan      html  css  js  c++  java
  • 集群结构、分布式结构、单机结构

    (1)单机结构

      最常用的就是单机结构,一个系统业务量很小的时候,所有的代码都放在一个项目中,然后这个项目部署在一台服务上了。整个项目的服务都是这台服务器提供的。这就是单机结构。

      那么,单机结构的缺点显而易见的。单机的处理能力毕竟有限,当业务增长到一定的程序的时候,单机的硬件资源无法满足你的业务需求。而且如果这台服务器出现意外,那么程序直接死翘翘。

    (2)集群结构

      对单机结构的缺点进行补充。单机处理到达瓶颈的时候/防止服务器出现意外不能提供服务,那么你就把单机复制几份,这样就构成一个“集群”。集群中的每一台服务器就叫做这个集群的一个“节点”,所有的节点构成一个集群。每个节点都提供相同的服务,那么这样系统的处理能力相当于提升了好几倍。

      用户的请求由哪个节点来处理?要实现这个功能,这时候就需要一个在所有节点访问之前增加一个调度者角色,用户的请求都交给调度者,由他根据配置分发策略,决定将请求交给哪个节点处理。这个“调度者”:负载均衡服务器。

      集群结构的好处就是系统扩展非常方便,只需要多复制几份。

    (3)分布式结构

      分布式结构就是降一个完整的系统,按业务功能,拆分成一个个独立的子系统,在分布式结构中,每个系统被称为“服务”。这些子系统能够独立运行在web容器里,他们之间通过RPC方式通信。RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。(参考资料:百度百科 https://baike.baidu.com/item/%E8%BF%9C%E7%A8%8B%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8%E5%8D%8F%E8%AE%AE/6893245?fromtitle=RPC&fromid=609861&fr=aladdin)

      例子:约约项目系统拆分为服务:api,admin,driver,order,passenger,location等。

      好处:1.系统之间的耦合度降低,可以独立开发、部署、测试,开发效率大大提升;

         2.系统之间耦合度降低,系统更易于扩展。我们可以针对性的扩展某些服务,比如api业务处理量大,那么api可以增加节点,而其他维持原有水平即可。

         3.可以复用。

    参考资料:

      知乎:https://www.zhihu.com/question/20004877

  • 相关阅读:
    Coding Souls团队第二阶段冲刺(三)
    Coding Souls团队第二阶段冲刺(二)
    第一阶段意见评价
    PHPMailer/PHPMailer的使用
    使用jquery.media.js实现pdf在线预览
    select2(前端选择框_框架)
    安装Docker CE+阿里云镜像仓库
    docker学习
    前端开发框架WeUI
    php _Markdown转HTML
  • 原文地址:https://www.cnblogs.com/knsbyoo/p/9070902.html
Copyright © 2011-2022 走看看