负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。
一、http重定向
当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Location标记来返回一个新的URL。这意味着HTTP代理需要继续请求这个新的URL,完成自动跳转。
二、DNS负载均衡
DNS负责提供域名解析服务,当访问某个站点时,实际上首先需要通过该站点域名的DNS服务器来获取域名指向的IP地址,在这一过程中,DNS服务器完成了域名到IP地址的映射,同样,这样映射也可以是一对多的,这时候,DNS服务器便充当了负载均衡调度器,它就像http重定向转换策略一样,将用户的请求分散到多台服务器上,但是它的实现机制完全不同。
三、反向代理负载均衡
这个肯定大家都有所接触,因为几乎所有主流的Web服务器都热衷于支持基于反向代理的负载均衡。它的核心工作就是转发HTTP请求。Nginx,Haproxy
相比前面的HTTP重定向和DNS解析,反向代理的调度器扮演的是用户和实际服务器中间人的角色:
1、任何对于实际服务器的HTTP请求都必须经过调度器
2、调度器必须等待实际服务器的HTTP响应,并将它反馈给用户(前两种方式不需要经过调度反馈,是实际服务器直接发送给用户)
特性:
1、调度策略丰富。例如可以为不同的实际服务器设置不同的权重,以达到能者多劳的效果。
2、对反向代理服务器的并发处理能力要求高,因为它工作在HTTP层面。
3、反向代理服务器进行转发操作本身是需要一定开销的,比如创建线程、与后端服务器建立TCP连接、接收后端服务器返回的处理结果、分析HTTP头部信息、用户空间和内核空间的频繁切换等,虽然这部分时间并不长,但是当后端服务器处理请求的时间非常短时,转发的开销就显得尤为突出。例如请求静态文件,更适合使用前面介绍的基于DNS的负载均衡方式。
4、反向代理服务器可以监控后端服务器,比如系统负载、响应时间、是否可用、TCP连接数、流量等,从而根据这些数据调整负载均衡的策略。
5、反射代理服务器可以让用户在一次会话周期内的所有请求始终转发到一台特定的后端服务器上(粘滞会话),这样的好处一是保持session的本地访问,二是防止后端服务器的动态内存缓存的资源浪费。
四、IP负载均衡(LVS-NAT)
因为反向代理服务器工作在HTTP层,其本身的开销就已经严重制约了可扩展性,从而也限制了它的性能极限。那能否在HTTP层面以下实现负载均衡呢?
NAT服务器:它工作在传输层,它可以修改发送来的IP数据包,将数据包的目标地址修改为实际服务器地址。
五、直接路由(LVS-DR)
NAT是工作在网络分层模型的传输层(第四层),而直接路由是工作在数据链路层(第二层),貌似更屌些。它通过修改数据包的目标MAC地址(没有修改目标IP),将数据包转发到实际服务器上,不同的是,实际服务器的响应数据包将直接发送给客户羰,而不经过调度器。
六、IP隧道(LVS-TUN)
基于IP隧道的请求转发机制:将调度器收到的IP数据包封装在一个新的IP数据包中,转交给实际服务器,然后实际服务器的响应数据包可以直接到达用户端。目前Linux大多支持,可以用LVS来实现,称为LVS-TUN,与LVS-DR不同的是,实际服务器可以和调度器不在同一个WANt网段,调度器通过IP隧道技术来转发请求到实际服务器,所以实际服务器也必须拥有合法的IP地址。
IP负载均衡可以使用硬件设备,也可以使用软件实现。硬件设备的主要产品是F5-BIG-IP-GTM(简称F5),软件产品主要有LVS、HAProxy、NginX。其中LVS、HAProxy可以工作在4-7层,NginX工作在7层。
F5
F5的全称是F5-BIG-IP-GTM,是最流行的硬件负载均衡设备,其并发能力达到百万级。F5的主要特性包括:
1、多链路的负载均衡和冗余
可以接入多条ISP链路,在链路之间实现负载均衡和高可用。
2、防火墙负载均衡
F5具有异构防火墙的负载均衡与故障自动排除能力。
3、服务器负载均衡
这是F5最主要的功能,F5可以配置针对所有的对外提供服务的服务器配置Virtual Server实现负载均衡、健康检查、回话保持等。
4、高可用
F5设备自身的冗余设计能够保证99.999%的正常运行时间,双机F5的故障切换时间为毫秒级。
使用F5可以配置整个集群的链路冗余和服务器冗余,提高可靠的健康检查机制,以保证高可用。
5、安全性
与防火墙类似,F5采用缺省拒绝策略,可以为任何站点增加额外的安全保护,防御普通网络攻击,包括DDoS、IP欺骗、SYN攻击、teartop和land攻击、ICMP攻击等。
6、易于管理
F5提供HTTPS、SSH、Telnet、SNMP等多种管理方式,包含详尽的实时报告和历史纪录报告。同时还提供二次开发包(i-Control)。
7、其他
F5还提供了SSL加速、软件升级、IP地址过滤、带宽控制等辅助功能。
相关推荐
在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)的工作原理,以及它们的优缺点。
结合实践、收集各种场景、常见问题 讲解Nginx中最实用的Webserver场景 提供一套整体的搭建配置方式 2.通用性 Nginx中间件,不局限于业务逻辑,有效 独立于后台开发框架(不论后端是Java开 发、PHP开发、或者其他...
1、结合实践、收集各种场景、常见问题讲解Nginx中最实用的Webserver场景 提供一套整体的搭建配置方式。2、Nginx中间件,不局限于业务逻辑,有效 独立于后台开发框架(不论后端是Java开发、PHP开发、或者其他语言框架...
第26讲 配置mysql+lvs+keeplived实现mysql读操作的负载均衡 课程目标: 熟练掌握mysql+lvs+keeplived的部署方式 keeplived简介 通过配置lvs+keeplived实现mysql读操作的负载均衡 测试mysql+lvs+keeplived负载均衡...
负载均衡: 探讨Nginx如何实现负载均衡,分担流量以确保系统的高可用性和稳定性。 安全性配置: 提供有关如何通过Nginx配置加密、访问控制和其他安全性特性的信息。 性能优化: 分析如何优化Nginx服务器性能,包括...
1.3.7 路由和负载均衡的实现 50 1.4 HTTP服务网关 54 第2章 分布式系统基础设施 58 本章主要介绍和解决如下问题: 分布式缓存memcache的使用及分布式策略,包括Hash算法的选择。 常见的分布式系统存储...
由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...
15.2 Web数据库的工作原理 240 15.3 使用PHP操作MySQL数据库 240 15.3.1 数据库服务器的连接与断开 241 15.3.2 选择数据库 242 15.3.3 执行SQL语句 242 15.3.4 获得查询结果集中的记录数 243 15.3.5 获得结果集中的...
运算表达式类的原理及其实现 #实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中...
负载均衡 152 【网络】说说你对Http协议和Socket协议的理解 153 http协议 153 Tcp协议 154 【网络】HTTPS的工作原理说明HTTPS是安全的 155 【消息队列】为什么要使用消息队列 156 【消息队列】ActiveMQ服务器宕机...
5.3.4_WLAN基础网络规划介绍_负载均衡技术 5.4.1_WLAN网络规划方案及典型案例介绍 5.4.2_WLAN网络规划方案及典型案例介绍_典型应用场景 5.4.3_WLAN网络规划方案及典型案例介绍_室内放装型AP典型应用案例 5.4.4_...
193 7.12.1 负载均衡概念 193 7.12.2 传输链路聚合 194 7.12.3 带均衡策略的服务器集群 194 7.12.4 高层交换 194 7.12.5 Web内容智能交换技术 194 7.13 电子身份认证 196 7.13.1 电子身份认证 ...
193 7.12.1 负载均衡概念 193 7.12.2 传输链路聚合 194 7.12.3 带均衡策略的服务器集群 194 7.12.4 高层交换 194 7.12.5 Web内容智能交换技术 194 7.13 电子身份认证 196 7.13.1 电子身份认证 ...
193 7.12.1 负载均衡概念 193 7.12.2 传输链路聚合 194 7.12.3 带均衡策略的服务器集群 194 7.12.4 高层交换 194 7.12.5 Web内容智能交换技术 194 7.13 电子身份认证 196 7.13.1 电子身份认证 ...
193 7.12.1 负载均衡概念 193 7.12.2 传输链路聚合 194 7.12.3 带均衡策略的服务器集群 194 7.12.4 高层交换 194 7.12.5 Web内容智能交换技术 194 7.13 电子身份认证 196 7.13.1 电子身份认证 ...
193 7.12.1 负载均衡概念 193 7.12.2 传输链路聚合 194 7.12.3 带均衡策略的服务器集群 194 7.12.4 高层交换 194 7.12.5 Web内容智能交换技术 194 7.13 电子身份认证 196 7.13.1 电子身份认证 ...
193 7.12.1 负载均衡概念 193 7.12.2 传输链路聚合 194 7.12.3 带均衡策略的服务器集群 194 7.12.4 高层交换 194 7.12.5 Web内容智能交换技术 194 7.13 电子身份认证 196 7.13.1 电子身份认证 ...
193 7.12.1 负载均衡概念 193 7.12.2 传输链路聚合 194 7.12.3 带均衡策略的服务器集群 194 7.12.4 高层交换 194 7.12.5 Web内容智能交换技术 194 7.13 电子身份认证 196 7.13.1 电子身份认证 ...
│ 第44节:VCL基本语法和使用,负载均衡.avi │ 第45节:VCL实现健康检查、ACL访问控制.avi │ 第46节:Grace模式和Saint模式.avi │ 第47节:VCL常用的函数和Http头.avi │ 第48节:VCL的子程序和Request流程.avi ...