集群是什么

文章目录

  • 前言
  • 集群结构
    • 为什么集群会有性能瓶颈?
    • 有哪些负载均衡?
    • 反馈

前言

集群是什么_第1张图片
参考资料:分布式与集群的区别是什么?

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群

集群结构

单机处理到达瓶颈的时候,你就把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。
每个节点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍(有几个节点就相当于提升了这么多倍)。

但问题是用户的请求究竟由哪个节点来处理呢?最好能够让此时此刻负载较小的节点来处理,这样使得每个节点的压力都比较平均。要实现这个功能,就需要在所有节点之前增加一个“调度者"的角色,用户的所有请求都先交给它,然后它根据当前所有节点的负载情况,决定将这个请求交给哪个节点处理。
这个“调度者”有个牛逼了名字——负载均衡服务器。集群结构的好处就是系统扩展非常容易。如果随着你们系统业务的发展,当前的系统又支撑不住了,那么给这个集群再增加节点就行了。但是,当你的业务发展到一定程度的时候,你会发现一个问题——无论怎么增加节点,貌似整个集群性能的提升效果并不明显了。这时候,你就需要使用微服务结构了。

为什么集群会有性能瓶颈?

集群瓶颈:磁盘IO必读
当我们面临集群作战的时候,我们所希望的是即读即得。可是面对大数据,读取数据需要经过IO,这里可以把IO理解为水的管道。管道越大越强,我们对于T级的数据读取就越快。所以IO的好坏,直接影响了集群对于数据的处理。

集群硬件规划
Hadoop集群的瓶颈:IO(Disk,Net)
Spark集群的瓶颈:CPU,内存

有哪些负载均衡?

【架构入门 - 高性能篇】集群高性能

  1. DNS
    最简单的方式,一般用来实现地理级别的均衡(AWS Route53就是)。比如来自美国的访问就分配给位于美国的服务器,来自中国的访问就分配给位于中国的服务器
  2. 硬件负载均衡
    单独通过硬件设备来实现负载均衡,比如F5、A10
  3. 软件负载均衡
    单独通过负载均衡软件来实现负载均衡。比如Nginx(7层)、LVS(4层),区别在于协议和灵活性,Nginx支持HTTP、Email协议以及对应逻辑处理,LVS支持TCP,所有TCP协议基础的都能做

反馈

无论怎么增加节点,貌似整个集群性能的提升效果并不明显了。这时候,你就需要使用微服务结构了。

这句话说得好像集群和分布式架构是一脉相承的,其实不是。分布式架构和集群架构应该是同时存在的。

任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后,从一台服务器拆分成两台服务器,但是随着网站业务的发展依然不能满足需求,这时需要使用分布式数据库。文件系统也是一样,需要使用分布式文件系统

集群是什么_第2张图片

你可能感兴趣的:(WEB)