负载均衡知识汇总

一、DNS轮询
1.实现
DNS配置多个IP域名解析(A记录)

2.优点
部署简单

3.缺点
非高可用(健康监测需人工干预)
会话状态需要共享(session共享)
扩容非实时(DNS解析缓存和TTL)
暴漏较多的外网IP

备注:DNS轮询是从域名层面做负载均衡


二、负载均衡
Load Balancing LB负责客户端流量到后端服务集群的分发,一般LB也会负责后端所有server的健康监测

1.实现
使用Nginx在站点和浏览器之间加入了反向代理
参考:https://blog.phpfs.com/archives/2412.html

2.优点
扩容实时(可以在反向代理随时扩容)
自动负载均衡(自动检测站点健康状态)
暴漏较少的外网IP(只需要暴漏反向代理Nginx的IP即可)

3.缺点
反向代理是单点(无法解决超出Nginx吞吐量)

三、高可用keepalived
多台反向代理部署keepalived,设置相同的Virtual IP,保证反向代理的高可用

1.实现
多台反向代理部署keepalived,设置相同的Virtual IP

2.优点
高可用(反向代理是多机)

3.缺点
资源利用率低
反向代理仍然是单点接入

四、LVS/F5
LVS主要用于服务器集群的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术
LVS的转发主要通过修改IP地址(NAT模式,分为源地址修改SNAT和目标地址修改DNAT)、修改目标MAC(DR模式)来实现。

1.实现
LVS是在操作系统层面(F5是硬件)

2.优点
可以扩展多个反向代理Nginx
可结合keepalived实现高可用

总结
1、通过DNS轮询扩展入口
2、通过keepalived实现高可用
3、通过LVS扩展多个Nginx反向代理
4、通过Nginx实现多个站点服务器负载均衡



Tagged , , , , . Bookmark the permalink.

Comments are closed.