负载均衡(Load Balance),就是将负载(任务)进行平衡,分摊到多个操作单元上执行.
负载均衡分为软件负载均衡(LVS,HAProxy,Nginx)和硬件负载均衡(F5 BIG-IP,Citrix NetScaler,A10).
LVS(Linux Virtual Server)
是一个负责均衡/高可用性集群.
由一个主控服务器及若干真实服务器所组成的集群.Real-server负责提供服务,主控服务器根据指定的调度算法对Real-server进行调度控制.而集群的架构对于用户来说是不透明的,客户端只与单个的IP(集群系统的虚拟IP)进行通信,从客户端的视角来看,这个集群就相当于一台服务器
LVS主要特定
- 抗负载能力前,LVS是工作在网络4层之上仅作分发之用,没有流量的产生
- 配置简单
- 工作文档,有完整的双机热备方案,如LVS+Keepalived
- 应用范围比较广,几乎可以对所有应用做负责均衡
LVS有3中工作模式
1.VS/NAT(Virtual Server Via NAT)网络地址转换技术,由一台负载均衡服务器和后端几台真实服务器组成一个服务器集群
2.VS/TUN(Virtual Server via IP Tunneling)连接调度和管理与VS/NAT中的一样,报文转发方法不同
3.VS/DR(Virtual Server via Direct Routing)调度器根据每个服务器的负责情况,动态选择一台服务器,不修改和不封装IP报文,将数据帧的MAC地址改为选出服务器的MAC地址,向服务器服务器组的局域网上发送
nginx
nginx即可作为负载均衡器也可以作为反向代理服务器,可以按轮询,IP_HASH,URL_HASH,权重等方式对后端进行调度
参考资料
高性能电子商务平台构建:架构、设计与开发