❶ 负载均衡的常见产品
F5 公司是应用交付网络(ADN)领域的全球领先厂商,全球市场份额第一。其致力于帮助全球大型的企业和服务提供商实现虚拟化、云计算和“随需应变”的IT的业务价值。F5公司总部设在华盛顿州的西雅图,并在全球各地设有分部。更多最新信息,行带察请访问F5中文官网。
产品技术特点:
1)全面的负载均衡
BIG-IP LTM(本地流量管理)包含静态和动态负载均衡方法,包括动态速率、最少连接和观察模式的动态平衡,这些方法用于以整体方式跟踪服务器的动态性能。这保证了始终选择最佳的资源,以提高性能。可支持所有基于TCP/IP协议的服务器负载均衡。可支持最小连接数、轮询、比例、最快响应、哈希、预测、观察、动态比例等负载均衡算法。
2)应用状态监控
BIG-IP LTM提供的监视器,用于检查设备、应用和内容的可用性,包括适合多种应用的专用监视器(包括多种应用服务器、SQL、SIP、LDAP、XML/SOAP、RTSP、SASP、SMB等),以及用于检查内容和模拟应用调用的定制监视器。
3)高可用性和交易保障
BIG-IP LTM提供了次秒级系统故障切换和全面的连接映射,无论出现何种系统、服务器或应用故障,都能保证它是一个高可用的解决方案。BIG-IP LTM可以主动检测和响应任何服务器或应用错误。
4)支持NAT地址转换
提供NAT地址转换功能,能够实现动态或静态地址转换。
5)支持访问控制列表
能够实现防火墙的基本功能,建立访问控制列表,拒接IP网段或端口号吗。
6)广域流量管理器(插件模块)
为在全球各地的多个数据中心中运行的应用提供高可用性、最高的性能和全局管理。
7)链路控制器(插件模块)
无缝地监控多个WAN连接的可用性和性能,智能地管理站点的双向流量,从而提供容错的、经过优化的互联网接行返入。比如管理控制CT和CNC的网络流量。
8)应用防火墙(插件模块)
该模块可加入到F5设备中,为设备提供更高级的安全服务。
9)支持路由
该功能为F5设备中基本功能,但只支持静态路由,如果使用较为高级的OSPF路由协议,需要购买单独的模块来支持。
扩展应用-降低服务器负载
1)内容转换
BIG-IP LTM为将许多繁杂或者重复功能卸载到集中的高性能网络设备上提供了全面的解决方案。SSL、压缩以及BIG-IP LTM的其它多项功能提供了一个完整的内容转换网关,可重定向、插入或者全面转换应用内容,以实现有效且高效的应用集成。
2)OneConnect
F5 OneConnect? 将数百万个请求汇聚为几百个服务器端的连接,确保后端系统能够高效地处理这些连接,从而使服务器容量提高60%。
3)高速缓存
智能缓存功能通过将重复流量从Web和应用服务器上卸载,使服务器容量提高9倍,从而实现显着的成本节约。该功能也是业内唯一提供多存储库缓存的解决方案,能够针对各应用或部门管理不同的缓存库,为高优先级的应用提供精确的智能控制。
4)SSL加速和卸载
每个BIG-IP LTM设备提供档茄了硬件加速方式的SSL加密,以消除应用服务器的SSL负担。通过加快设置和批量加密,企业可以采用更安全的密码将全部通信迁移到SSL,几乎不会导致应用性能下降或瓶颈。
优化的应用
1)智能应用交换
BIG-IP LTM拥有读取所有IP应用的独特能力,因此,它可以转换并且持续保留特定供应商的应用服务器(Microsoft、IBM、Oracle、SUN等)的独特信息; Web服务应用的XML数据;或者指示移动/无线应用的定制数值。您的企业可以借助BIG-IP LTM转换、记录以及持续保留有效负载或数据流的能力,实现更高的可靠性和可扩展性。
2)智能压缩
将应用性能提高至3倍,同时使带宽的使用量减少80%。使用业界标准的gzip和DEFLATE压缩算法减少HTTP流量,通过更慢/低的带宽连接降低带宽消耗量,缩短用户下载时间。这一功能对于压缩多种类型的文件提供了丰富的支持能力,包括HTTP、XML、JavaScript、J2EE应用等。
3)灵活的第4至7层流量整形
通过为更高优先级的应用分配带宽,控制流量峰值,并且根据第4层或第7层参数确定流量的优先级,保证最佳的应用性能。即IDC机房在核心交换机上所启用的QOS功能。
4)TCP Express
BIG-IP LTM的高度优化的TCP/IP堆栈(称为TCP Express?)将TCP/IP技术和最新RFC的改进功能,与F5开发的多项改进和扩展功能相结合,最大限度降低了拥塞、丢包和恢复的影响。BIG-IP LTM是一个全代理设备,因此,TCP Express可以屏蔽并且透明地优化服务器或客户端上运行的原有的或者不兼容的TCP堆栈。这样可以使用户的性能提高2倍,并且使带宽效率提高4倍,同时降低您的服务器上的连接负载。
安全的应用
1)基础防火墙功能——数据包过滤
BIG-IP LTM集成了一个控制点,用于定义和执行基于第4层的过滤规则(基于PCAP,类似于网络防火墙),以提高网络防护能力。
2)资源隐藏和内容安全
BIG-IP LTM对所有应用、服务器错误代码和真正的URL参考实现了虚拟化和隐藏,因为这些可能为黑客提供关于基础架构、服务及其相关漏洞的信息。敏感的文档或内容将不允许离开您的站点。
3)定制的应用攻击过滤
全面的检测和基于事件的策略为搜索、检测和应用多种规则阻止已知第7层攻击提供了显着增强的能力。BIG-IP LTM还采用安全的应用模板阻止已知攻击和针对应用业务逻辑的攻击。额外的安全层可防止黑客、病毒和蠕虫,同时为合法流量提供持续的服务。
4)隔离协议攻击
BIG-IP LTM提供了协议无害处理 (Protocol Sanitization) 和充分TCP终止 (Full TCP Termination)点来单独管理客户端和服务器端连接,以保护所有后端系统和应用免遭恶意攻击。
5)网络攻击防护
BIG-IP LTM作为安全代理,可防护DoS攻击、SYN Flood以及其它基于网络的攻击。诸如SYNCheck?等特性可为部署在BIG-IP设备后的服务器提供全面的SYN Flood保护。BIG-IP LTM采用Dynamic Reaping(获取空闲连接的一种自适应方法)过滤掉负载最重的攻击,同时为合法连接提供不间断的服务。
6)有选择的加密
BIG-IP LTM提供了业界最具选择性的加密方法,对数据进行整体、部分或有条件的加密,从而保护并优化不同用户之间的通信。
7)Cookie加密
透明地分配给合法用户的Cookie和其它令牌都经过加密。企业可获得针对全部带状态的应用(电子商务、CRP、ERP和其它关键业务应用)的卓越安全性,以及更高的用户身份信任度。
8)高级SSL加密标准
BIG-IP LTM采用市场上最安全的SSL加密技术,支持更高标准的AES算法,而无需额外的处理成本。
9)抓包工具
提供tcpmp工具作为抓包分析使用,可用于故障处理,流量分析等方向。 A10 公司是应用交付网络(ADN)领域的全球领先厂商,全球市场份额第三。其总部位于美国硅谷,连续多年被INC.500评为全球发展最快的企业之一,其产品在2013年获得微软Best of TechEd 2013最佳硬件和最高人气两项大奖,是业界性价比最高和每瓦特性能最佳的应用交付产品,具体可参考A10公司中文官网。
应用案例(国际)
Twitter,Microsoft,LG,Samsung,Godaddy,NTT,Linkedin,AOL,Evernote,Terra,Bizrate,meebo,Box,Subaru,gamania,mevio,TED baker……
应用案例(国内)
淘宝网,阿里巴巴,携程,中国雅虎,盛大网络,世纪互联,1号店,新华网,人民网,第一视频,500wan彩票,神州租车,国税总局,保监会,平安集团,建设银行,农业银行,上海交大,浙江大学,四川大学,新华社,国电集团,中化集团,联想集团…… 深信服应用交付AD产品具备服务器负载均衡、链路负载均衡、单边加速、智能优化技术、SSL加速、商业智能分析等优势功能,将用户访问请求智能匹配到最优的链路,并为用户选择响应最快的服务器,提升用户使用体验,并为企业提供科学管理的决策。
产品技术特点:
单边加速功能
客户端无需安装任何插件和软件即可提升用户访问速度,这使得用户可以更快更稳定地访问发布内容,打造稳定智能的业务发布平台。
商业智能分析
深信服AD应用交付产品区别于传统负载均衡设备,更加关注企事业单位应用的整体交付过程中与业务、网络优化相关的一系列问题。其中最显着的特点就是,在保证应用交付过程中稳定性的前提下,不仅可以知悉组织网络和服务器的运行状况,更重要的是可以帮助组织分析自身的业务系统运行状况,以此为高层的网络优化和业务优化提供决策依据。
链路负载和服务器负载二合一
深信服AD产品包括链路优化和服务器优化,四到七层负载均衡,实现对各个链路以及服务器状态的实时监控,同时根据预设的规则将请求分配给相应的链路以及服务器,以此最终实现数据流的合理分配,使所有的链路和服务器都得到充分的利用,扩展应用系统的整体处理能力,提高应用系统的稳定性,改善用户的访问体验,降低组织IT投资成本。
高投资回报比
深信服AD系列应用交付产品打破国外厂商垄断,在同等投入水平下,具备链路、服务器二合一负载均衡解决方案,并直接开通SSL加速、缓存、压缩等众多优化功能,获得超出业界同类产品的设备性能 梭子鱼负载均衡机通过为多台服务器进行流量均衡、网络入侵防护等流量优化和安全扫描机制,实现应用的高可用性和安全性,并通过完善的服务器健康检查机制,为应用提供冗余。梭子鱼使用软、硬件一体化设计,避免了根据服务器台数和端口数的收费方式,为用户提供性价比极高的应用安全负载均衡。
高可用性与高可扩展性
据行业分析报告,只有不到20%的核心应用实现了高可用性。应用高可用性所面临的巨大挑战包括了持续工作时间的延长、应用的扩容和攻击的防护。梭子鱼负载均衡机使用完善的服务器健康检查对真实服务器进行实时监控,确保用户的请求始终到达健康的服务器,得到正常的响应。对于梭子鱼负载均衡机自身的高可用性,可以通过梭子鱼负载均衡机的集群部署实现。
对于高流量的应用环境,梭子鱼负载均衡机通过动态权重分配机制根据每台服务器的实时处理能力进行流量的均衡。对于需要会话保持的应用,梭子鱼负载均衡机提供源IP会话保持以及7层的cookie会话保持功能。
易于管理和维护
梭子鱼负载均衡机部署简单。通过服务器自动发现功能和友好的Web配置界面,帮助用户轻松完成配置。同时,梭子鱼通过集成的IPS为应用提供实时的安全防护。
梭子鱼负载均衡机的Web管理界面提供完善的数据统计,对设备的性能、流量等数据进行实时统计,同时提供易于操作的服务配置页面,为管理员提供方便的管理。 功能
1、会话保持设置,保障业务延续性、可用性。2、分发互联网的流量,解决南北互通。3、链路备份,提高链路冗余。4、带宽叠加,减少互联网接入的成本。5、链路自动探测纠错与健康检查6、智能负载均衡/手动负载均衡7、按内网地址选路/按外网地址选路
8、按应用选路
优势:
支持带宽叠加:将多条宽带绑定成一条,降低对网络的投资,以最小的投入获得最高效稳定的网络环境。支持线路备份:当一条链路出现故障时,可以迅速切换到其他可用链路,保证网络的高可用性和业务延续性。解决南北互通问题:有效解决了南北因电信、网通的差异导致了普遍存在的“南北互通”问题。支持多链路负载均衡:高度保证企业网络的稳定性和业务的延续性避免系统宕机、链路中断或拥塞等对企业运营带来不利影响。拥有多项先进的技术:集HTTP压缩,SSL加速、智能数据压缩、基于内存的高速缓存、TCP连接复用、单边TCP加速等多项技术于一身,减少响应时间,显着改善终端用户体验。丰富的算法与策略:拥有多种均衡算法和丰富的负载均衡策略,让用户更高效合理的使用网络资源,极大提升链路利用效率,保障业务高效运行。保障关键业务:支持链路、应用状态监控,支持会话保持,避免业务访问中断,保障关键业务的延续性。安装部署配置简便:安装简单,部署方便,图形化的配置界面,简单直观,降低用户配置复杂度,便于系统管理和维护。 品安科技的品安科技AD产品是品安科技自主研发,拥有独立自主知识产权的,涵盖负载均衡、应用加速及应用安全功能的应用交付控制器。该产品内聚了独有的多核多线程调度、告诉协议栈等关键技术,能极大的提高服务器的可用性,保障链路的可靠性和安全性,高效的将应用交付给客户,改善用户访问体验,降低IT投资成本。
特点优势:
1 、All in One, One for ALL 多种功能为一体。应用交付控制器是集成多功能通信管理平台,把主流应用流量管理和性能增强功能集成到一个功能强大的平台上,包括二到七层服务负载均衡(SLB)、高速缓存(Cache)、链路负载平衡(LLB)、SSL加速、HTTP压缩、群集、应用安全防火墙(Webwall)和全局服务负载平衡(GSLB)。该平台加快了应用传输速度并简化了这一过程。
2 、High Performance 高性能。通过采用多种性能增强技术,特别是具有革命性的国内独有技术,即高速协议栈技术,将应用交付控制器提供的所有功能集成在一起,极大的地优化了各个功能的处理过程,实现了数据动态管理,从而保证网络应用和服务能够高速和可靠地运行。
3 、TCP off loading 网络卸载。应用交付控制器在实现服务负载均衡时,通过特有的连接复用等性能优化技术,在稳定的实现服务负载均衡功能的基础上,能够在高负载的情况下大大减小后台的负载总量,使得服务提供设备能够处理更多的并发请求,从而提供更优的性能价格比。在结合Cache功能应用时,应用交付控制器甚至能够成百倍地减小对后台的负载,提供令人惊喜的表现。
4、Flexibility 灵活。在实现高处理能力和功能的同时,应用交付控制器相对与其它产品配置、管理和维护更加简单和人性化。同时结合独有的强大本地化技术支持和研发力量,能够及时准确的提供全面的技术服务,为用户提供长期创造价值。 天融信网络卫士TopApp-LB负载均衡系统是一款融合了智能带宽控制功能的链路及服务器负载均衡产品。通过对网络出口链路和服务器资源的优化调度,TopApp-LB负载均衡系统让大规模的应用部署轻松实现,同时达至最稳定的运行效果,最高的资源利用率,最佳的应用性能和用户体验。大量的企事业单位通过TopApp-LB负载均衡系统顺利实现了应用部署,满足了信息化发展的需求,并极大地提升了工作效率。
二合一负载均衡
集成高性能链路负载均衡和服务器负载均衡,保证应用数据在错综复杂的网络中获得最佳传输路径。完善的链路、应用服务健康检查机制,及时诊断出不能正常工作或负载过重的链路和服务器。能够根据应用、链路的健康状况,智能调整流量在多链路、多服务器之间的分配,并自动完成切换,提升网络和应用的可用性。
精确流量控制提升带宽价值
创新的端到端精确带宽控制与均衡技术避免了传统队列机制所带来的广域网下行带宽的浪费,真正实现优先级管理、带宽限制、带宽保障以及带宽的公平使用,提升带宽价值。
高可用性保证
实现多机集群及Active-Standby、Active-Acitive模式的高可用性部署,最大化应用运行时间,避免了设备或网络故障对业务的影响。
强化的安全保护
状态检测防火墙实现高性能的访问控制,双向NAT支持多对一、一对多和一对一等多种方式的地址转换,IP/MAC地址自动扫描及绑定,有效抵御数十种网络攻击。
易于使用及部署
单臂、双臂可选的接入模式最大程度上减少用户网络结构的调整。负载均衡算法的自适应管理、内置中国ISP地址列表、服务器故障自动通知及应用故障自动修复等降低了用户配置管理的复杂性。
❷ 常见的负载均衡技术
四层负责均衡:主要是指通过判断报文的IP地址和端口并通过一定的负载均衡算法来决定转发到哪个指定目标,主要工作在OSI模型的第四层。四层负载均衡对数据包只是起一个数据转发的作用,并不会干预客户端与服务器之间应用层的通信(如:三次握手等)。所以能对数据所进行的操作也就很少,但相对于七层负载均衡来讲效率会高上很多
七层负载均衡:也被称为“内容交换”,指的是负载均衡设备通过报文中的应用层信息(URL、HTTP头部等信息)和负载均衡算法,选择到达目的的内部服务器。七层负载均衡可以“智能化”地筛选报文中 应用层信息,然后根据不同的信息进行特定的负载均衡调度。这种方式提升了应用系统在网络层上的灵活性,另外也在一定程度上提升了后端系统的安全性。因为像网络常见的DoS攻击,这些攻击在七层负载均衡的环境下通常都在负载均衡设备上就截止了,不会影响到后台服务器的正常运行。
前网络中常见的负载均衡主要分为硬件负载均衡和软件负载均衡。硬件负载均衡比较知名的产品有F5 Big-IP、Cirtix Netscaler等等。而软件负载均衡就有着众多的开源项目,常见的有Haproxy、nginx、lvs等。
Haproxy:
lvs:
nginx:
Haproxy可以做代理服务相对于nginx而言有很多相同之处,统一可以基于mode tcp进行四层代理也可以基于mode http进行七层代理,但不同的是其无法使用location和if等进行匹配判断。突出优势在于有会话绑定,web管理界面,状态统计非常详细。官方推荐只启用一个进程,相对于nginx多进程架构工作并不理想,更多的线程可能会受到系统内存的一些限制。
程序环境:
主程序:/usr/sbin/haproxy
主配置文件:/etc/haproxy/haproxy.cfg
Unit file:/usr/lib/systemd/system/haproxy.service
查看配置文件
重要的几个参数,及性能调优,多数无需修改
发现日志发送给本机rsyslog的local2的facility,而本机的rsyslog里并没有定义,需要我们自己去配置
所以vim /etc/rsyslog.conf添加一段将local2的所有信息记录在对应日志文件中
由于HAProxy可以工作在七层模型下,因此,要实现HAProxy的强大功能,一定要使用强大灵活的ACL规则,通过ACL规则可以实现基于HAProxy的智能负载均衡系统。HAProxy通过ACL规则完成两银汪种主要的功能,分别是:
1)通过设置的ACL规则检查客户端请求是否合法。如果符合ACL规则要求,那锋贺仔么将放行;如果不符合规则,则直接中断请求。
2)符合ACL规则要求的请求将被提交到后端的backend服务器集群,进而实现基于ACL规则的负载均衡。HAProxy中的ACL规则经常使用在frontend段中,使用方法如下:
acl 自定义的acl 名称 acl 方法 -i [ 匹配的路径或文件] 其中:
·acl:是一个关键字,表示定义ACL规则的开始。后面需要跟上自定义的ACL名称。
·acl方法:这个字段用来定义实现ACL的方法,HAProxy定义了很多ACL方法,经常使用的方法有hdr_reg(host)、hdr_dom(host)、hdr_beg(host)、url_sub、url_dir、path_beg、path_end等。
·-i:表示不区分大小写,后面需要跟上匹配的路径或文件或正则表达式。与ACL规则一起使用的HAProxy参数还有use_backend,use_backend后面需要跟上一个backend实例名,表示在满足ACL规拍禅则后去请求哪个backend实例,与use_backend对应的还有default_backend参数,它表示在没有满足ACL条件的时候默认使用哪个后端
这些例子定义了www_policy、bbs_policy、url_policy三个ACL规则,第一条规则表示如果客户端以 www.z.cn 或 z.cn 开头的域名发送请求时,则此规则返回true,同理第二条规则表示如果客户端通过 bbs.z.cn 域名发送请求时,则此规则返回true,而第三条规则表示如果客户端在请求的URL中包含“buy_sid=”字符串时,则此规则返回true。
第四、第五、第六条规则定义了当www_policy、bbs_policy、url_policy三个ACL规则返回true时要调度到哪个后端backend,例如,当用户的请求满足www_policy规则时,那么HAProxy会将用户的请求直接发往名为server_www的后端backend,其他以此类推。而当用户的请求不满足任何一个ACL规则时,HAProxy就会把请求发往由default_backend选项指定的server_cache这个后端backend。
与上面的例子类似,本例中也定义了url_static、host_www和host_static三个ACL规则,其中,第一条规则通过path_end参数定义了如果客户端在请求的URL中以.gif、.png、.jpg、.css或.js结尾时返回true,第二条规则通过hdr_beg(host)参数定义了如果客户端以www开头的域名发送请求时则返回true,同理,第三条规则也是通过hdr_beg(host)参数定义了如果客户端以img.、video.、download.或ftp.开头的域名发送请求时则返回true。
第四、第五条规则定义了当满足ACL规则后要调度到哪个后端backend,例如,当用户的请求同时满足host_static规则与url_static规则,或同时满足host_www和url_static规则时,那么会将用户请求直接发往名为static的后端backend,如果用户请求满足host_www规则,那么请求将被调度到名为www的后端backend,如果不满足所有规则,那么将用户请求默认调度到名为server_cache的这个后端backend。
log:全局的日志配置,local0是日志设备,info表示日志级别。其中日志级别有err、warning、info、debug4种可选。这个配置表示使用127.0.0.1上的rsyslog服务中的local0日志设备,记录日志等级为info。
maxconn:设定每个HAProxy进程可接受的最大并发连接数,此选项等同于Linux命令行选项“ulimit -n”。
user/group:设置运行HAProxy进程的用户和组,也可使用用户和组的uid和gid值来替代。
daemon:设置HAProxy进程进入后台运行。这是推荐的运行模式。
nbproc:设置HAProxy启动时可创建的进程数,此参数要求将HAProxy运行模式设置为daemon,默认只启动一个进程。该值的设置应该小于服务器的CPU核数。创建多个进程,能够减少每个进程的任务队列,但是过多的进程可能会导致进程崩溃。
pidfile:指定HAProxy进程的pid文件。启动进程的用户必须有访问此文件的权限。
mode:设置HAProxy实例默认的运行模式,有tcp、http、health三个可选值。
retries:设置连接后端服务器的失败重试次数,如果连接失败的次数超过这里设置的值,HAProxy会将对应的后端服务器标记为不可用。此参数也可在后面部分进行设置。
timeout connect:设置成功连接到一台服务器的最长等待时间,默认单位是毫秒,但也可以使用其他的时间单位后缀。
timeout client:设置连接客户端发送数据时最长等待时间,默认单位是毫秒,也可以使用其他的时间单位后缀。
timeout server:设置服务器端回应客户端数据发送的最长等待时间,默认单位是毫秒,也可以使用其他的时间单位后缀。
timeout check:设置对后端服务器的检测超时时间,默认单位是毫秒,也可以使用其他的时间单位后缀。
bind:此选项只能在frontend和listen部分进行定义,用于定义一个或几个监听的套接字。bind的使用格式为: bind [<address>:<port_range>] interface <interface>其可以为主机名或IP地址,如果将其设置为“*”或“0.0.0.0”,将监听当前系统的所有IPv4地址。port_range可以是一个特定的TCP端口,也可是一个端口范围,小于1024的端口需要有特定权限的用户才能使用。interface为可选选项,用来指定网络接口的名称,只能在Linux系统上使用。
option httplog:在默认情况下,HAProxy日志是不记录HTTP请求的,这样很不方便HAProxy问题的排查与监控。通过此选项可以启用日志记录HTTP请求。
option forwardfor:如果后端服务器需要获得客户端的真实IP,就需要配置此参数。由于HAProxy工作于反向代理模式,因此发往后端真实服务器的请求中的客户端IP均为HAProxy主机的IP,而非真正访问客户端的地址,这就导致真实服务器端无法记录客户端真正请求来源的IP,而X-Forwarded-For则可用于解决此问题。通过使用forwardfor选项,HAProxy就可以向每个发往后端真实服务器的请求添加X-Forwarded-For记录,这样后端真实服务器日志可以通过“X-Forwarded-For”信息来记录客户端来源IP。
option httpclose:此选项表示在客户端和服务器端完成一次连接请求后,HAProxy将主动关闭此TCP连接。这是对性能非常有帮助的一个参数。
log global:表示使用全局的日志配置,这里的global表示引用在HAProxy配置文件global部分中定义的log选项配置格式。
default_backend:指定默认的后端服务器池,也就是指定一组后端真实服务器,而这些真实服务器组将在backend段进行定义。这里的htmpool就是一个后端服务器组。
option redispatch:此参数用于cookie保持的环境中。在默认情况下,HAProxy会将其请求的后端服务器的serverID插入cookie中,以保证会话的session持久性。而如果后端的服务器出现故障,客户端的cookie是不会刷新的,这就会出现问题。此时,如果设置此参数,就会将客户的请求强制定向到另外一台健康的后端服务器上,以保证服务正常。
option abortonclose:如果设置了此参数,可以在服务器负载很高的情况下,自动结束当前队列中处理时间比较长的连接。
-balance:此关键字用来定义负载均衡算法。目前HAProxy支持多种负载均衡算法,常用的有如下几种:
cookie:表示允许向cookie插入SERVERID,每台服务器的SERVERID可在下面的server关键字中使用cookie关键字定义。
option httpchk:此选项表示启用HTTP的服务状态检测功能。HAProxy作为一个专业的负载均衡器,它支持对backend部分指定的后端服务节点的健康检查,以保证在后端backend中某个节点不能服务时,把从frotend端进来的客户端请求分配至backend中其他健康节点上,从而保证整体服务的可用性。
option httpchk的用法如下: option httpchk <method> <uri> <version> 其中,各个参数的含义如下:
check:表示启用对此后端服务器执行健康状态检查。
inter:设置健康状态检查的时间间隔,单位为毫秒。
rise:设置从故障状态转换至正常状态需要成功检查的次数,例如,“rise 2”表示2次检查正确就认为此服务器可用。
fall:设置后端服务器从正常状态转换为不可用状态需要检查的次数,例如,“fall 3”表示3次检查失败就认为此服务器不可用。
cookie:为指定的后端服务器设定cookie值,此处指定的值将在请求入站时被检查,第一次为此值挑选的后端服务器将在后续的请求中一直被选中,其目的在于实现持久连接的功能。上面的“cookie server1”表示web1的serverid为server1。同理,“cookie server2”表示web2的serverid为server2。
weight:设置后端真实服务器的权重,默认为1,最大值为256。设置为0表示不参与负载均衡。
backup:设置后端真实服务器的备份服务器,仅仅在后端所有真实服务器均不可用的情况下才启用。
用nginx反代后端的两台tomcat主机,做动静分离,如果是jsp结尾的就发往后端,否则就交给nginx处理。
在两台tomcat主机上创建应用
nginx配置
则动静分离就实现了,并且我们还基于uri实现了会话粘性