`
snow4aa
  • 浏览: 2044 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

负载均衡

 
阅读更多

负载均衡故名思议,是把服务的并发请求均衡负载到后端多个具有相同能力的服务进行处理分担.以廉价有效透明的方式扩展网络设备或服务的带宽,增加吞吐量,增强服务的整体处理能力,提供服务的灵活性和可用性。

两个含义:

1.大量的并发访问或者数据流量分担到多台节点设备上分别处理,减少用户等待响应时间.如:WEB集群。

2.单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高.


 

 负载均衡调度算法:负载均衡设备(包括虚拟设备或者相关软件)在执行负载均衡调度,选择具体处理的后端服务的时候使用调度和分发逻辑。
流行和常用的负载均衡算法包括:
1.轮询算法;以依次轮叫的方式依次将请求调度不同的后端服务(Real Server)。算法的优点是其简洁性,无状态。算法简单表示为:i=(i+1) mod n

 
2.Hash算法;一般是对请求报文中的某项数据(key,一般常用客户端来源IP)计算Hash值,然后按机器数量(n)取模。idx=Hash(key)%n
key选择常用实践用法:
1.请求时间或者随时数:简单,具有一定分散性,但不稳定,一般用于要求不高的负载均衡场景。
2.来源IP:简单。如果客户的分布比较广,这种方式分散性较好。但如果较多的客户请求来源于同一IP(公司网络通过路由器上网),分散效果较差。大多数负载均衡设备都支持这种算法,nginx和LVS等软件也支持。

 
3.一致性Hash算法;常用于分布式缓存定位,但同时也可以在系统或者程序中用于负载均衡,该算法的意义在于分散负载和快速定位。
算法逻辑:首先求出服务器(节点)的哈希值,并将其配置到0~2^32的圆上。然后用同样的方法求出存储数的键的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找到数据保存到找到的第一个服务器上。如果超过0~2^32仍然找不到服务器,就会保存到第一台服务器上。(1个实体节点可以虚拟N个虚拟节点如(160,200)让节点更加均匀分布在环上,并非负载均衡设备和系统软件可以使用这些算法,实践开发中如分表,缓存定位都有较多的应用场景)。

 
4.Session(一般用户Web):也叫粘性模式,严格的说这不是负载均衡算法,只能是负载均衡算法扩展补充,转用于基于会话的请求。一般是结合轮询等其他算法一起使用。
特点:解决web集群会话问题最多简单实用的方案,采用多播复制Session或采用分布式缓存。
5.最少连接或者连接数:调度设备或者服务记录后端服务器接受请求的计数,每次请求总是发给计数最小的服务器处理。
问题:客户端每次请求连接持续时间不均,部分后端服务器压力大。轮询或者Hash等静态调度算法无法解决该问题。
适用场景:适合长时处理的请求服务如FTP,云存储服务等。
最小连接调度是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务的负载情况。

 
6.最大空闲;
7.平均最快响应;
8.最少流量。
二。负载均衡应用模式
负载均衡模式主要是在整体方案中选择从服务网络的那个层次或者那个产品来实现负载均衡方案。
1.RP-DNS:利用DNS服务器支持同一域名配置多个独立IP指向,然后轮询解析指向IP实现多次访问的调度和分发,实现负载均衡。
特点:
    i.负载均衡实现与后端服务完全没有关系,有DNS在本地解析指向实现轮询调度。
   ii.DNS服务无法检测到后端服务是否正常,在TTL失效前,会一直指向失效的服务器,这就要求在实践生成中,必须解决后端服务器的高可用问题。
  iii.一般第三方DNS服务提供商都支持该功能。但如果更新频率高或附带更新逻辑,一般会在系统内自建DNS服务,然后在注册为公用DNS服务。
2.反向代理:是接受internet上用户的请求,转发给内部的多台服务器处理,完成后转发后端服务的返回给对应的用户。
 优点:网络,设备和程序都是透明,建设简单,能力较强,成本低廉,效率较好。
 缺点:完全软实现,性能依赖代理软件节点。当并发量达到一定程度,代理服务节点是系统的瓶颈。
适用场景:中小型Web应用的负载均衡和高可用。
3.IP转换:一般是在网络的IP层实现,通过报文改写的方式实现VIP到多个内部IP的转发调度,以达到负载均衡的效果。
特点:网络层方案,效率较高稳定性较好,可与操作系统内核结合;工业级模式和方案;大部分商业设备和产品都是以该方式为主;LVS的基本原理也类同。

4.IP转换-LVS:是工业级的负载平衡调度解决方案,也是目前业界最流行的软件方式实现负载均衡的模式之一,利用IP转发的原理实现大多数有商业产品实现的能力,并做了部分优化,主要有三个模式应用。

LVS性能:LVS服务器集群系统具有良好的伸缩性,可支持几百万上并发连接,配置100M网卡,采用VS/TUN或VS/DR调度技术,集群系统的吞吐量可高达1Gbits/s,如配置千兆网卡,则系统的最大吞吐量可接近10Gbits/s.
 4.1 通过NAT实现虚拟服务器(VS/NAT):
   优点:可以运行任何支持TCP/IP的操作系统,只需要配置LVS服务VIP,无需配置Real Server,配置简单;
   缺点:LVS对请求和回复报文修改报文头,所有请求和回复都通过LVS服务,很容易成为瓶颈。

 
 4.2 通过IP隧道实现虚拟服务器(VS/TUN)
     VS/TUN技术对服务器要求:LVS服务器需要与所有Real Server建立VPN网络;可以实现端口转发;请求报文通过LVS,由LVS对原始报文进行再次封装后转发给后端服务器;响应报文直接返回客户端,无需通过LVS封装。

 
 4.3 通过直接路由实现虚拟服务器(VS/DR):利用大多数Internet服务的非对称特点,负载调度中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量。

 

分享到:
评论

相关推荐

    负载均衡器技术Nginx和F5的优缺点对比

     目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。  我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里...

    流媒体服务器集群的负载均衡

    流媒体服务器(Streaming Media Server 简写MS)集群系统能够用相对较为廉价的方式提供较强的可扩展性和良好的吞吐性能,然而要使系统资源得到充分利用却面临着许多技术上的挑战,负载均衡技术就是其中之一。...

    弘积负载均衡简易运维手册

    3.2、弘积负载均衡 3.2.1、配置节点(类似F5 poolmembers) 3.2.2、配置定义健康检查 延伸:不同poolmember采用不同健康检查(与F5类似) 目录 3.2.3、配置虚拟服务(类似F5 poolmembers) 3 3.2.4、...

    天融信负载均衡配置手册

    天融信负载均衡配置手册

    公司基于VRRP的负载均衡出口链路配置.rar

    3、应用场景:公司基于VRRP的负载均衡出口链路配置 4、特点:Word文档提供了实验的详细过程,包括每一步骤的操作命令和截图,并给出了实验的topo文件(包括配置信息) 5、适用人群:网络系统的建设与运维 6、使用...

    Windows Server 2019 负载均衡(NLB)安装部署-图文

    网络负载均衡,英文名称为Network Load Balance,简称NLB。 当日常工作业务量较大、网络负荷过重时,我们就需要将业务进行负载,来保障服务器的高可用性,高稳定性。负载均衡可以对服务器的运行状况进行监控,及时...

    基于动态反馈的负载均衡算法

    基于动态反馈的负载均衡算法基于动态反馈的负载均衡算法基于动态反馈的负载均衡算法基于动态反馈的负载均衡算法

    负载均衡A10考试题库

    负载均衡A10考试题库

    SAP 应用服务负载均衡的实现

    SAP 应用服务负载均衡的实现SAP 应用服务负载均衡的实现

    LVS+Keepalived高可用负载均衡集群

    需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高性能高可用的功能?有什么好的负载均衡可伸张可扩展的方案吗?答案是肯定的!有!...

    实现多服务器负载均衡

    探讨分布式网络服务器使用的负载均衡技术及负载分配的策略,并基于网络地址转换在FreeBSD上实现了负载均衡网关,应用于我们的Internet网络服务器上,将负载分给多个服务器分担,以解决Internet服务器面临的大量并发...

    Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明

    Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明 为了多台后台的web、webservice服务能均衡负载,可以使用nginx进行处理 1)配置文件全配制ok 2)有两个完整的web服务做例子,可以...

    负载均衡开源解决方案

    负载均衡(Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强 ...

    H3C负载均衡配置指导

    负载均衡配置指导帮助设置防火墙负载均衡的操作,有一定的帮助。

    MySQL Proxy 实现负载均衡测试

    MySQL Proxy 实现负载均衡测试 MySQL Proxy 实现负载均衡测试

    apache2.2.4 负载均衡.txt

    apache2.2.4 负载均衡.txtapache2.2.4 负载均衡.txtapache2.2.4 负载均衡.txt随着访问量的不断提高,以及对响应速度的要求,进行负载均衡设置就显得非常必要了。公司的系统在最初设计的时候就已经考虑到了负载均衡的...

    导致内部负载均衡器间歇性丢包或负载不均衡的常见因素-Bing1

    后端个别服务器网卡配置了NSG拒绝策略(例如443端口),但是负载均衡器的运行状况探测配置了其他端口(例如80端口)作为负载均衡器检查后端服务器的健康状态的判断

    Elasticsearch的分布式架构、负载均衡、高可用以及容错性看这一篇就够了

    开箱即用,简单粗暴Elasticsearch天然支持分布式和集群,开箱即用,零配置,零改动。自动分片一个index默认5个primaryshard,那么我们创建一个document,他给我们分配到哪个shard...shard负载均衡假设我们有1个index,

    负载均衡最佳实践

    本书详述了mysql负载均衡最佳实践方法

Global site tag (gtag.js) - Google Analytics