zoukankan      html  css  js  c++  java
  • 分布式与集群的区别是什么?

    1.分布式的诞生
    单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流。

    2.何为分布式
    分布式可繁也可以简,最简单的分布式就是大家最常用的,在负载均衡服务器后加一堆web服务器,然后在上面搞一个缓存服务器来保存临时状态,后面共享一个数据库,大致结构如下图所示:

    这种环境下的分布式结构非常简单。

    3.分布式与集群的关系
    集群:集群是个物理形态,指的是将几台服务器集中在一起,提供同一种业务。
    分布式:分布式是指将不同的业务分布在不同的地方。

    举例1:

    1.将 jd 整个电商代码运行在一组web集群服务器中,现在假设注册代码有问题,那么使用集群这种方式势必会导致整个 jd 网站都故障,因为代码与代码之间的关联太强,
    相当于一个人胳膊坏了整个人就GameOver。
    2.吸取了集群的教训,这次我们将 jd 的代码进行拆分,比如: 注册放一组服务器集群、登陆放一组服务器集群,等等。将 jd 的代码分散负载在不同的服务器集群中了,
    那么当注册代码出现问题,坏掉的只是注册服务器集群,并不会影响到用户使用登陆、浏览商品、支付、等等。
    
    PS1: 分布式中的每一个节点模块,都可以做集群。 而集群并不一定就是分布式的。
    PS2: 分布式与集群简单理解是: 一堆人分头做不同的事 ”与“ 一堆人做一件事”的区别。
    

    举例2:

    如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。
    1.分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。
    2.集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,10个任务同时完成,
    这样,整身来看,还是1小时内完成一个任务!
    
    通过如上例子总结分布式与集群概念
    1.分布式是以缩短单个任务的执行时间来提升效率的。(分布式主要解决高并发问题。)
    2.集群是通过提高单位时间内执行的任务数来提升效率。(集群主要提高系统可用性。)
    

    举例3:

    小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。
    为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。
    
  • 相关阅读:
    windows server2012之部署HTTPS安全站点
    HTTPS站点搭建教程:Win7/Windows Server 2008R2
    https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
    SQL Server中解决死锁的新方法介绍
    WCF寄宿到Windows Service[1]
    安装程序工具 (Installutil.exe)22
    安装程序工具 (Installutil.exe)
    WebSocket使用教程
    深入理解java String 对象的不可变性
    Android 给Button加个监听
  • 原文地址:https://www.cnblogs.com/Forever-x/p/10894997.html
Copyright © 2011-2022 走看看