• jQueryrocket


    简单理解概念以及优缺点

    单机: 项目,代码都放在一个服务器上

    优点:部署实施简单,易于维护,成本低,共享程度高,一致性好

    缺点:处理能力是有限的,当业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求。此时便出现了集群模式。

    集群:集群是一个物理概念,项目复制几份,部署在不同的服务器上,同时在访问前加一个“调度者”的角色(负载均衡服务器,相当于堡垒机,也可能是个堡垒集群),所有请求由他来分配,分配给负载较小的节点

    优点:扩展性强,业务需求增大直接增加服务器就行了;架构简单性能稳定;

    缺点:当业务发展到一定成度时,你会发现一个问题——无论怎么增加节点,貌似整个集群性能的提升效果并不明显了。这个时候就可以考虑分部署方式。

    分布式架构:按照业务功能,拆分成一个个独立的子系统,然后单独部署在各个服务器上,他们之间通过rpc方式进行交互.

    优点:

    耦合度低:可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。

    扩展性强:我们可以针对性地扩展某些服务。假设对于在线杀毒功能的需求大,我们可以针对性地提升在线杀毒的节点数量,而对于后台系统,节点数量维持原有水平即可。

    复用性更高:比如,当我们将用户系统作为单独的服务后,该公司所有的产品都可以使用该系统作为用户系统,无需重复开发。

     

    区别和联系:

    1、某书上:分布式是指 多个系统协同合作完成一个特定任务的系统。
    分布式是解决中心化管理的问题,把所有的任务叠加到一个节点处理,太慢了。分布式的主要工作是分解任务,将职能拆解。

    2、集群主要的使用场景是为了分担请求的压力,也就是在几个服务器上部署相同的应用程序,来分担客户端请求。
    master 的机器上面,其他 slave 机器无法分担写压力,从而这个时候,也就引出来分布式。

    3、集群主要是简单加机器解决问题,对于问题本身不做任何分解;
    分布式处理里必然包含任务分解与答案归并。分布式中的某个子任务节点,可能由一个集群来代替;集群中任一节点,都是做一个完整的任务。
    集群和分布式都是由多个节点组成,但是集群之间的通信协调基本不需要;而分布式各个节点的通信协调必不可少。

     

    分布式饭店(帮助理解)

    小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。而接受客户指令,通知配菜员配菜的服务员,起着负载均衡的作用,相当于堡垒机,多个服务员的关系就是堡垒机集群。

  • 相关阅读:
    [转]script之defer&async
    css3渐变gradient
    [转]提高 web 应用性能之 CSS 性能调优
    [转]深入了解 CSS3 新特性
    进程中t.start(), t.daemon() t.jion()的使用
    创建进程
    进程与进程之间通信Manager
    简版线程池
    Python上下文管理
    绝版线程池
  • 原文地址:https://www.cnblogs.com/kaspar/p/12794150.html
Copyright © 2020-2023  润新知