「sandag」(Load Balancing),负载均衡( 二 )


Source原地址法:源地址hash , 新连接先按权重分配 , 后续连接按source分配请求 。 起到会话绑定的作用 , 但是调度粒度太粗 , 使用的少 , 相当于是ip_hash.常见框架NGINXNginx做为一个强大的Web服务器软件 , 具有高性能、高并发性和低内存占用的特点 。 此外 , 其也能够提供强大的反向代理功能 。 Nginx工作在网络的7层 , 可以针对http应用本身来做分流策略 。 支持七层HTTP、HTTPS协议的负载均衡 。 对四层协议的支持需要第三方插件-yaoweibin的ngx_tcp_proxy_module实现了tcpupstream 。
NGINX主要有五种负载均衡方法
#不填参数时默认是轮询算法least_conn;#最少连接方法ip_hash;#ip方法hash$request_uriconsistent;#哈希一致性方法least_timeheader;#NGINXPlus版本支持randomtwoleast_time=last_byte;#随机算法HaProxy【「sandag」(Load Balancing),负载均衡】Haproxy是高可用代理软件 , 它是一种比较流行的开源软件 , 基于TCP(四层)/HTTP(七层)协议的负载均衡代理解决方案 , 可以在Linux、FreeBSD等平台下运行 , 常见于跨多个服务器 , 比如:web、应用程序、数据库、MQ消息队列、MC数据库等等 。 通过多个Haproxy服务来提高服务的性能和可靠性 。 他支持多种负载均衡方法 , 如下:
1.balanceroundrobin#轮询 , 软负载均衡基本都具备这种算法2.balancestatic-rr#根据权重 , 建议使用3.balanceleastconn#最少连接者先处理 , 建议使用4.balancesource#根据请求源IP , 建议使用5.balanceuri#根据请求的URI6.balanceurl_param , #根据请求的URl参数'balanceurl_param'requiresanURLparametername7.balancehdr(name)#根据HTTP请求头来锁定每一次HTTP请求8.balancerdp-cookie(name)#根据据cookie(name)来锁定并哈希每一次TCP请求


推荐阅读