应用的负载均衡器实现方案很多,有基于硬件的F5方式,也有基于软件的Linux LVS方式。在云计算中,私有云一般采用硬件防火墙来实现负载均衡器,公有云中一般采用软件方式来实现负载均衡。今天我们来看看用LVS来怎么实现SLB(业务负载均衡 Service Load Balance)。
一、LVS有三种实现方式
1、DR Direct Redirect,直接转发
核心点在于,用户的业务请求源、目的IP地址在整个传输过程中不会发生变化。当LB负载均衡器收到用户的访问请求后,将IP包封装为真实的服务器的MAC地址;而真实的服务器处理完成后,也将源IP封装为负载均衡器的IP地址,将目标IP封装为客户真实IP地址,直接回应给客户。采用DR模式,要求LB与真实的服务器处于同一个网段内,不需要过LB进行路由NAT转发;同时要求真实的服务器必须绑定VIP的环回地址,让真实的服务器认为VIP地址就是自己。因为需要真实的服务器做数据配置,且目的IP端口不能发生变化,DR模式一般在公有云中用得不多。但DR也有巨大的优点,LB只完成单向的数据转发,业务负载较低。
2、NAT/FULL NAT