nginx 四层负载均衡
2022/1/11 7:03:45
本文主要是介绍nginx 四层负载均衡,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
四层负载均衡
1、什么是四层负载均衡
所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。 以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。
2、为什么要用四层负载均衡
在不使用http协议是我们通常要使用到四层负载均衡来实现、
3、应用场景
1.四层+七层来做负载均衡,四层可以保证七层的负载均衡的高可用性; 2.负载均衡可以做端口转发 3.数据库读写分离
4+7的应用场景
4、四层负载均衡特点
1.四层负载均衡仅能转发TCP/IP协议、UDP协议、通常用来转发端口,如:tcp/22、udp/53; 2.四层负载均衡可以用来解决七层负载均衡端口限制问题;(七层负载均衡最大使用65535个端口号) 3.四层负载均衡可以解决七层负载均衡高可用问题;(多台后端七层负载均衡能同时的使用) 4.四层的转发效率比七层的高得多,但仅支持tcp/ip协议,不支持http和https协议; 5.通常大并发场景通常会选择使用在七层负载前面增加四层负载均衡。
实现部署四层负载均衡
注意:四层负载均衡中不支持域名。
使用四层负载均衡,必须要有--with-stream模块 四层负载均衡和七层负载均衡很相似但是完全是两回事、
# 编辑配置文件 [root@lb01 ~]# vim /etc/nginx/nginx.conf stream { include /etc/nginx/stream/*.conf; }
# 创建配置文件目录: [root@lb01 ~]# cd /etc/nginx/ [root@lb01 ~]# mkdir /stream [root@lb01 ~]# cd /etc/nginx/stream [root@lb01 stream]# vim mysql.conf # 实现配置 server { listen 3306; proxy_pass 172.16.1.61:3306; }
# 测试端口 [root@lb01 ~]# netstat -nutlp
# 测试 在192.165.15.61访问191.168.15.5的mysql
案例
案例:使用四层负载均衡实现SSH的代理,端口为1122
[root@lb01 stream]# vim ssh.conf server { listen 1122; proxy_pass 172.16.1.5:22; # ssh默认端口为22 }
# 测试 :测试机web01 [root@web01 ~]# ssh root@192.168.15.5 -p1122
连接成功
这篇关于nginx 四层负载均衡的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享