负载均衡

转自:https://blog.csdn.net/zxm1306192988/article/details/80461683

1.概念

实现用户访问调度,压力分担,分给不同的web节点

2.实现方式

(1)硬件设备:F5 A10  Redware

(2)开源软件:Nginx  Haproxy   Lvs

3.命名

(1)负载均衡:用户请求的转发(Lvs)

(2)反向代理:代替用户去找,找到后再发给用户(Nginx、haproxy)

4.功能

(1)Lvs是4层负载均衡,基于IP和端口

(2)Nginx haproxy 是4层和7层负载均衡,通过IP和端口接收请求再分发

5.原理:

(1)分层负载均衡:都是基于网络模型。四层和七层

(2)七层是基于四层,但在应用层方面可以做更多的事情。

比如按浏览器类别区分是手机还是PC,手机登陆到专门的移动网站。

从智能DNS入手,根据客户端IP将用户转到最近的一台服务器,以加快访问速度

6.开源负载均衡的特点

a.Nginx

(1)七层,针对http分流

(2)安装配置简单

(3)高负载,上万次并发

(4)队请求可以异步处理

(5)调度算法:轮询、weight和ip_hash(解决会话保持)、第三方fair和url_hash

b.HAProxy

(1)七层

(2)支持Session保持,Cookie引导

(3)调度算法:动态加权轮询(Dynamic Round Robin)、加权源地址哈希(Weighted Source Hash)、加权URL哈希、加权参数哈希(Weighted Parameter Hash)

(4)可以对Mysql进行负载均衡

c.LVS

(1)四层。对硬件只有网卡的要求,抗负载能力强

(2)配置性比较低

(3)还可以对Mysql做负载均衡

(4)存在虚拟IP和虚拟MAC地址

分类:

(1)NAT

有两个IP,一个对内,一个对外。在四层上修改报文的IP地址达到均衡。

需维护一个表,防止IP数据包在网络层分片传输给不同的服务器。即,面向连接。

策略:

轮询:一个挨一个轮换

加权轮询:性能服务器好的,权重高

最少连接:那个服务器连接少,就发给谁

加权最少连接:在最少连接的基础上,加权重

缺点:请求响应,所有的流量都要通过它。

(2)DR

请求和响应分开,请求走负载均衡。响应都各个web点直接返回给客户端

(3)双机热备

防止单点失败

Master和Backup需要相同的IP和MAC地址,通过虚拟IP+虚拟MAC解决

7.ELB 和SLB

ELB是AWS的负载均衡器,SLB是阿里云

作用:

(1)请求分发

(2)弹性伸缩

(3)从安全考虑,ELB或SLB支持application在一个VPC中

 

 

 

原文地址:https://www.cnblogs.com/ppybear/p/12464279.html