负载均衡知识全概要

来源:互联网 发布:数码大师 mac版下载 编辑:程序博客网 时间:2024/06/16 19:25

LB--负载均衡

在负载均衡集群中需要一个分发器,我们将其称之为Director,它位于多台服务器的上面的中间层,根据内部锁定义的规则或调度方式从下面的服务器群中选择一个以此来进行响应请求,而其分发的方式则是根据某个算法进行的。HA--高可用

一、负载均衡的类型

负载均衡可以采用硬件设备,也可以采用软件负载。

商用硬件负载设备成本通常较高(一台几十万上百万很正常),所以在条件允许的情况下我们会采用软负载,软负载解决的两个核心问题是:选谁、转发,其中最著名的是LVS(Linux Virtual Server)。

二、LVS:

LVS:Linux Virtual Server,linux虚拟服务——LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡

LVS是四层负载均衡,也就是说建立在OSI模型的第四层——传输层之上,传输层上有我们熟悉的TCP/UDP,LVS支持TCP/UDP的负载均衡。
用 LVS 搭建一个负载均衡集群——http://blog.jobbole.com/87503/
1、LVS的工作模式
Virtual Server via Network Address Translation NAT(VS/NAT)  :虚拟服务器通过网络地址转换(VS / NAT)
    VS/NAT是一种最简单的方式,所有的RealServer只需要将自己的网关指向Director即可。
Virtual Server via IP Tunneling(VS/TUN)IP隧道实现虚拟服务器
    IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。
Virtual Server via Direct Routing(VS/DR)  通过直接路由实现虚拟服务器
    VS/DR方式是通过改写请求报文中的MAC地址部分来实现的。Director和RealServer必需在物理上有一个网卡通过不间断的局域网相连。
2、模式对比和选择
VS/NAT缺点:请求和响应报文都需要通过负载调度器,所以只能十分有限的服务器节点,会成为系统瓶颈
VS/TUN和VS/DR:只将请求调度到不同的后端服务器,后端服务器将应答的数据直接返回给用户。这样,负载调度器就可以处理大量的请求,它甚至可以调度百台以上的服务器(同等规模的服务器),而它不会成为系统的瓶颈。
需要注意的是
VS/TUN:会有IP隧道的开销,需要提高网卡配置百兆/千兆网卡;所有的服务器必须支持“IP Tunneling”或者“IP Encapsulation”协议
VS/DR:要求负载调度器与实际服务器都有一块网卡连在同一物理网段上,服务器网络设备(或者设备别名)不作ARP响应,或者能将报文重定向(Redirect)到本地的Socket端口上
3、容灾:

容灾分为RS的容灾和LVS的容灾。

RS的容灾可以通过LVS定期健康检测实现,如果某台RS失去心跳,则认为其已经下线,不会在转发到该RS上。

LVS的容灾可以通过主备+心跳的方式实现。主LVS失去心跳后,备LVS可以作为热备立即替换。

容灾主要是靠KeepAlived来做的。

4、LVS负载均衡调度算法

  ◆最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配, 直到其恢复正常。
  ◆最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
  ◆观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
  ◆预测模式(Predictive):BIG-IP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被BIG-IP 进行检测)
  ◆动态性能分配(Dynamic Ratio-APM):BIG-IP 收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。
  ◆动态服务器补充(Dynamic Server Act.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。
  ◆服务质量(QoS):按不同的优先级对数据流进行分配。
  ◆服务类型(ToS): 按不同的服务类型(在Type of Field中标识)负载均衡对数据流进行分配。
  ◆规则模式:针对不同的数据流设置导向规则,用户可自行

三、对比nginx和lvs
http://www.server110.com/nginx/201309/1305.html


高可用拓扑结构图:(当然cache和DB也可以做集群,DB可拆分、读写分离等等等)



OSI七层协议 、TCP/IP五层协议
OSI(Open System Interconnect),即开放式系统互联
Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议

0 0
原创粉丝点击