1 集群的定义
集群的出现主要是为了解决单台设备性能不足、效率低下等问题,可以保证业务无中断,总体效率高,适合大型业务。
2 集群的分类
3 负载均衡集群LBC
软硬件分类:
常用的软件类主要是LVS和NGINX。LVS主要是做四层负载,NGINX主要是做七层的代理。另外F5设备是硬件的负载均衡,价格比较昂贵,一般做数据链路层/传输层的负载。
四层工作逻辑:
七层工作逻辑:
四层和七层的主要差别在于,四层没有对源进行转换,只是起到改变目的ip的作用,再进行转发,只有一个TCP连接;而七层则对源和目的都进行了转换,是两个TCP连接。适用场景:LVS主要使用于C/S(B/S)场景中,而NGINX主要使用于B/S场景。
3.1 LVS工作模式
LVS的工作层级如下:
其中,ipvs在内核模块中进行加载。其工作模式如下:
LVS NAT模式
去往的方向流量到LVS时做的DNAT,回来的报文回到LVS时做的SNAT。
此环境中需要保证以下几点:
- 集群节点位于同一个网络环境;
- rs网关指向负载均衡器;
- 负载调度器必须位于RS与DS之间,充当网关;
- 支持端口映射;
- 负载调度器必须时linux操作系统;
- 进出报文都要经过负载调度器,流量压力大;
LVS DR模式:
- 集群节点位于同一个广播域内;
- LVS仅只是改变报文的MAC地址;
- 真实服务器网关指向路由器;
- 负载调度器只负责入站请求,大大减轻负载调度器的压力;
- 不支持端口映射;
- 负载调度器必须时linux操作系统;
LVS TUN模式:
- 集群节点都必须各自拥有独立的公网ip;
- 不支持端口映射功能;
- RS、DS必须开启隧道功能;
- 数据报文进行了外层的二次封装,入站由DS完成,出站由RS完成;
- 负载调度器必须时linux操作系统;