LVS作为Nginx集群的四层负载均衡器,可以有效提高Nginx的可扩展性。Nginx作为业务HTTP服务器的七层负载均衡器,能将不同的HTTP URL调度到不同的业务服务并提高业务服务的高可用性和可扩展性。
1.解决LVS单点问题
利用Keepalived + VIP实现主从热备。
在主节点A和从节点B均安装Keepalived,主节点A会通过ARP响应告知局域网VIP对应的MAC地址为MAC-A(主节点MAC地址),之后所有收到这个ARP响应包的网络设备在访问VIP时,就会根据MAC-A访问到主节点A。
当从节点B监听到主节点A宕机后,就会替代主节点A向局域网回复ARP响应包,VIP对应的MAC地址为MAC-B。
2.解决单台LVS性能瓶颈
想要痛快地解决某个系统的高并发性能问题,就要为这个系统增加水平扩展能力。
可以使用多台LVS对外提供服务,如果有N台LVS对外提供服务,那么就要配置N个VIP,这些VIP都绑定同一个域名,客户端依赖DNS轮询来决定访问哪台LVS。
3.最终架构
整体架构:
- 通过DNS轮询方式扩展LVS性能
- 通过Keepalived保证LVS
- 通过LVS扩展Nginx性能
- 将Nginx作为业务HTTP服务器的七层负载均衡器,提供了业务服务的高可用性与可扩展性