设为首页 收藏本站
查看: 1036|回复: 0

[经验分享] LVS负载群集理论篇

[复制链接]

尚未签到

发表于 2019-1-5 06:56:21 | 显示全部楼层 |阅读模式

  群集,顾名思义,不是指一台服务器,而是指一串的服务器。这样能够提高服务的质量,高可用,负载均衡,提高访问速度等好处。
  博主这次就和大家讨论一下“群集”以及“负载均衡群集”。
  群集类型:
  不同的群集类型特点不一样,其达到的效果也是不一样的,常见的群集类型有三种:
  负载均衡群集, 高可用群集,高性能运算群集。
  ——负载均衡群集: 和他的名字一样,他就是做负载的,以便提高系统的响应能力,尽可 能的处理更多的访问请求,减少链接的延迟,获得高并发,高负载的整体性能。比如一 台性能良好的nginx可以接受的并发链接时4000,那么由两台nginx组成的一个群集又 会怎么样那。负载均衡群集就是提高并发处理,减少延迟的技术。
  ——高可用群集:高可用性群集就是提高形同的可靠性,确保服务的连续性,不中断性,达 到高可用性的容错效果。比如Cisco的HSRP热备份路由协议,活跃路由器down掉之 后,备份路由器马上就替代了活跃路由器的角色。而对用户的体验来说,完全没有网络 中断的感觉。
  ——高性能运算群集:以提高CPU的运算能力,以及扩展硬件(像内存)等资源和整体的分析能力为目的。比如“云计算”“超级计算机”等。
  不同类型的群集类型也可以搭配使用,得到更好的处理能力和效果。
  下面就主要来看看负载均衡群集的构成和工作模式:
  负载均衡的分层结构:
  在典型的负载均衡的群集中,主要有三个部分。前段至少有一个负载调度器,中坚力量就是要有一个服务器池,提供相应的服务程序,服务器池可以提供整个群集的扩展和缩减。
  最后是共享存储,以便达到应用服务的统一性。如图:

  ①负载调度器:他是访问整个群集的唯一入口,必不可少,对外使用整个群集的虚拟ip(VIP),通常会配置两台负载调度器,达到HA高可用性。
  ②服务器池:有多台的应用服务器来构成(如FTP HTTP SQL )每个节点是配置真实的ip(RIP),他们负载处理负载调度器发来的访问请求。另外服务器池的的服务器数量可以根据需求增加或减少,很灵活。
  ③共享存储:为服务器池中的各节点(服务器)提供可靠的,统一的文件读取服务,确保整个群集的统一性。Linux环境中可以采用NAS或整网络共享
  负载均衡的工作模式:
  负载均衡的工作模式也分为三中. NAT模式, TUN模式, DR 模式。
  ① 地址转换模式:也称为NAT模式,类似防火墙的私有网络的网络拓扑。负载调度器是所有服务器的网关。客户端访问需要经过负载调度器(作为唯一入口),服务器池中的服 务器响应客户端也要经过负载调度器(出口)。负载调度器和服务器池的主机在同一个物理网络环境中。并且NAT模式是这三种模式中相对较为安全的一种。如图:

  ② ip隧道模式:又称为IP TUNNEL模式,采用开放式的网络结构,(就是负载均衡三层中的主机或服务器可以不再同一个物理位置,如;调度服务器在北京,而服务器池中的主机在上海。)这时负载调度器只负责接受客户端的请求转发,而连接的回应直接由服务器池中的服务器通过互联网或其他响应客户端。负载调度器和服务器中的主机可以通过***的方式通信,也可以申请专线的方式。总之较为麻烦一点。如图:(不是很形象)

  ③直接路由的方式:DR模式,采用半开放是的网络结构。和TUN模式差不多,只是负载调度器要和服务器在同一个物理位置,服务器池中的节点不是分散在各地了。调度器只是负责转发客户端的请求,而响应客户端还是服务器池中的各节点直接通过路由方式响应。

  其实这三种工作模式的不同全和负载调度器有关联,那么负载调度器到底是干嘛的那。说白了,他就相当于boss老板,负责给底下的人合理的分配工作,底下的人是谁,就是服务器池中的各个节点,怎么样“合理”,这就是下面要说的
  LVS的调度算法,LVS(linux Virtual Server)的调度算法一共有一下几种:
  1.轮叫调度(Round Robin)(简称rr)
  调度器通过“轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
  2.加权轮叫(Weighted Round Robin)(简称wrr)
  调度器通过“加权轮叫”调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器能处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
  3.最少链接(Least Connections)(LC)
  调度器通过“最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用“最小连接”调度算法可以较好地均衡负载。
  4.加权最少链接(Weighted Least Connections)(WLC)
  在集群系统中的服务器性能差异较大的情况下,调度器采用“加权最少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
  5.基于局部性的最少链接(Locality-Based Least Connections)(LBLC)
  “基于局部性的最少链接”调度算法是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接” 的原则选出一个可用的服务器,将请求发送到该服务器。
  6.带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)(LBLCR)
  “带复制的基于局部性最少链接”调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标 IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。
  7.目标地址散列(Destination Hashing)(DH)
  “目标地址散列”调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
  8.源地址散列(Source Hashing)(SH)
  “源地址散列”调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
  9. 最短的期望的延迟(Shortest Expected Delay Scheduling SED)(SED)
  基于wlc算法。这个必须举例来说了
  ABC三台机器分别权重123 ,连接数也分别是123。那么如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个。使用sed算法后会进行这样一个运算
  A(1+1)/1
  B(1+2)/2
  C(1+3)/3
  根据运算结果,把连接交给C 。
  10.最少队列调度(Never Queue Scheduling NQ)(NQ)
  无需队列。如果有台 realserver的连接数=0就直接分配过去,不需要在进行sed运算
  end




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-659433-1-1.html 上篇帖子: ldirectord+corosync+lvs 高可用DS 下篇帖子: LVS/DR+Keepalvied 配制文档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表