一、四层负载均衡介绍
什么是四层负载均衡 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。 以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。 

应用场景 1.四层+七层来做负载均衡,四层可以保证七层的负载均衡的高可用性; 2.负载均衡可以做端口转发 3.数据库读写分离 四层负载均衡特点 1.四层负载均衡仅能转发TCP/IP协议、UDP协议、通常用来转发端口,如:tcp/22、udp/53; 2.四层负载均衡可以用来解决七层负载均衡端口限制问题;(七层负载均衡最大使用65535个端口号) 3.四层负载均衡可以解决七层负载均衡高可用问题;(多台后端七层负载均衡能同时的使用) 4.四层的转发效率比七层的高得多,但仅支持tcp/ip协议,不支持http和https协议; 5.通常大并发场景通常会选择使用在七层负载前面增加四层负载均衡。 二、四层负载均衡环境搭建
环境准备 主机 | IP | 身份 | lb4 | 172.16.1.6,10.0.0.6 | 四层负载均衡 | lb01 | 172.16.1.4,10.0.0.4 | 七层负载均衡 | lb02 | 172.16.1.5,10.0.0.5 | 七层负载均衡 | lb4和lb02搭建Nginx # 配置yum源[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true# 安装Nginx[root@lb02 ~]# yum install nginx -y[root@lb4 ~]# yum install nginx -y# 创建用户[root@lb02 ~]# groupadd www -g 666 && useradd www -u 666 -g 666 -s /sbin/nologin -M[root@lb4 ~]# groupadd www -g 666 && useradd www -u 666 -g 666 -s /sbin/nologin -M# 配置nginx[root@lb02 ~]# vim /etc/nginx/nginx.conf user www;[root@lb4 ~]# vim /etc/nginx/nginx.conf user www;# 启动Nginx[root@lb4 ~]# systemctl start nginx && systemctl enable nginx && systemctl status nginx[root@lb02 ~]# systemctl start nginx && systemctl enable nginx && systemctl status nginx 将lb01配置同步到lb02 [root@lb01 ~]# scp /etc/nginx/conf.d/* 172.16.1.5:/etc/nginx/conf.d/[root@lb01 ~]# scp /etc/nginx/proxy_params 172.16.1.5:/etc/nginx/ 测试lb02的负载均衡 [root@lb02 ~]# nginx -t && systemctl restart nginx#配置hosts测试10.0.0.5 linux.wp.com 三、配置四层负载均衡
四层负载均衡语法 |