构建集群需要了解的基础理论有:
第一、什么是集群?
第二、构建集群的目的是什么?
第三、集群有哪些分类?
第四、什么是LVS?
第五、LVS有哪几种工作模式?
第六、LVS 的常用算法有哪些?
第一、什么是集群?
集群是一组通过高速网络互联的计算机组,也就是将众多的服务器集中起来,并以单以系统的模式加以管理,提供同一种服务;
优点:可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益;
任务调度是集群系统中的核心技术;
举个栗子:
你开了一家餐厅,面向市场,市场上客户的需要五花八门各式各样,但核心需要就是吃饭;
为满足更多的用户用餐你就需要雇用更多的员工来服务客户,这个时候你构建的一个小的集群;
经过你的统筹管理 ,将员工的特点与专长进行分类管理,有厨房、前台、服务员等;
第二、构建集群的目的是什么?
为啥要构建集群呢?
最终目标当然是为了提升计算机的运算速度,提升客户的访问体验。
其中相对与单台超级计算机而言还具有,超高性价比优势,高性能优势,安全可高性优势,可以根据实际情况来增减的灵活性优势;
集群的作用:
提高性能:你访问百度的网页,观看的腾讯视频等,都是通过整合各个地区的服务器来提供服务;
超高性价比:相对与百万美元的超级计算机而言,通过集群构建,价格要便宜很多;
灵活性:可以根据不同地区,不同服务类型,进行调整服务器的数量,构建大小不同的集群;
可靠性:具有负载均衡的作用,多个节点同时提供相同的服务,避免因一个点的失败,而影响全局;
第三、集群有哪些分类?
按照应用场景分为:
高性能计算集群HPC;
通过以集群开发的并行应用程序解决复杂的科学问题;
比如:前段时间拍摄的黑洞照片;
负载均衡集群LB;
通常应用于企业。比如双11,因为各个地区的人口不一样,消费习惯也不一样,因此,每个地区的客户访问量也不一样。
比如北、上、广、深人口密集,爱网购的年轻人多,城市经济发达,访问量在双11会爆增;
而在江西赣州这样的三线城市,人口相对较少。
这个时候淘宝就会将北、上、广、深的流量分发到二三线城市,以实现服务器的负载均衡,保证用户的购物体验;
高可用集群HA;
当集群中的一个系统发生故障时,集群软件迅速做出反应,将该系统的任务分配到集群中其它正在工作的系统上执行。
避免因为单点故障,而导致全局瘫痪;
当然,在实际的使用中,集群的这三种类型相互交融,如高可用性集群也可以在其节点之间均衡用户负载。
这种集群类别的划分是一个相对的概念,不是绝对的。
第四、什么是LVS?
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,是采用IP负载均衡技术和基于内容请求分发技术。
LVS在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
章文嵩博士,1998年5月创立LVS,之前担任阿里的副总裁,2016年5月任滴滴高级副总裁;
章文嵩博士LVS的优点:
1、开源、免费、能够快速找到并修复其中的BUG;
2、在互联网上能够找到一些相关技术资源;
3、具有软件负载均衡的一些优点;
LVS的缺点:
1、因为免费,所以没有可靠的支持服务,没有人对其结果负责;
2、功能比较简单,支持复杂应用的负载均衡能力较差;
3、配置复杂,开启隧道方式需要重编译内核;
4、主要应用于LINUX,目前没有专用于WINDOWS的版本;
比如:Nginx与LVS的调度性能对比;
Nginx:性能中、功能中、支持正则表达式;
LVS:性能高、功能少、步支持正则表达式;
第五、LVS有哪几种工作模式?
LVS的三种工作模式
LVS有三种工作模式:
第一种工作模式:VS/NAT(如图左NAT)
通过网络地址转换实现的虚拟服务器;
缺点:大并发访问是,调度器的性能成为瓶颈;
第二种模式:VS/DR(如图右DR)
直接使用路由技术实现虚拟服务器;
节点服务需要配置VIP,注意MAC地址的广播;
第三种模式:VS/TUN(如图中)
通过隧道方式实现虚拟服务器;
缺点:麻烦,需要重新编译内核,性能也一般用的较少;
第六、LVS 的常用算法有哪些?
LVS目前实现了10种调度算法,其中常用的有四种;
第一种、轮询算法(Round Robin)
将客户请求平均分发到Real Server;
比如:有5台服务器,10万客户,那么每台服务器负责2万个客户的访问;
第二种、加权轮询算法(Weighted Round Robin)
根据Real Server 权重值进行轮询调度;
根据服务器的性能差别合理进行分配任务;
第三种、最少连接算法(Least Connections)
始终选择连接数最少的服务器;
根据当前是时间谁的访问量最少,来分配任务;
第四种、加权最少连接算法(Weigthted Least Connections)
根据Real Server 权重值,选择连接数最少的服务器;
根据服务器的性能差别,以及当下访问数量等综合判断,从而合理进行分配任务;
以上......
祝:顺利!
罗贵
2019-04-26于深圳
网友评论