一、负载均衡介绍
SLB(Server Load Balance)服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台服务器资源虚拟成一个高性能、高可用的应用服务池;再根据应用指定的方式,将来自客户端的网络请求分发到服务器池中。
SLB服务会检查服务器池中所有服务器的健康状态,自动隔离异常状态的服务器,从而解决了单台服务器的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,SLB服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。
2、负载均衡的类型
无负载平衡:没有负载平衡的简单Web应用程序环境
二、Haproxy
HAProxy是法国开发者 威利塔罗(Willy Tarreau) 在2000年使用C语言开发的一个开源软件,是一款具备高并发(一万 以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态 统计。
历史版本更新功能:1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1-dev 1.8:多线程,HTTP/2缓存…… 1.7:服务器动态配置,多类型证书…… 1.6:DNS解析支持,HTTP连接多路复用…… 1.5:开始支持SSL,IPV6,会话保持…
https://github.com/haproxy #github
HAProxy功能:
1)TCP和HTTP反向代理 2)SSL/TSL服务器 3)可以针对HTTP请求添加cookie,进行路由后端服务器 4)可平衡负载至后端服务器,并支持持久连接 5)支持所有主服务器故障切换至备用服务器 6)支持专用端口实现监控服务 7)支持不影响现有连接情况下停止接受新连接请求 8)可以在双向添加,修改或删除HTTP报文首部 9)响应报文压缩 10)支持基于pattern实现连接请求的访问控制 11)通过特定的URI为授权用户提供详细的状态信息
不具备的功能:
1)正向代理--squid,nginx 2)缓存代理--varnish 3)web服务--nginx、tengine、apache、php、tomcat 4)UDP--目前不支持UDP协议,2.1版本会支持UDP协议代理 5)单机性能--LVS