12.Nginx四层负载均衡:端口映射
[toc]
四层负载均衡概述
什么是四层负载均衡
OSI七层网络模型中,四层是传输层,传输层就是端口到端口的通信方式;
四层负载均衡:及时在传输层做端口的转发(端口映射)
四层负载应用场景
- 四层负载均衡仅能转发TCP/IP协议、UDP协议、通常用来转发端口,如:TCP/SSH:22、UDP/53;
- 四层负载均衡可以用来解决七层负载均衡端口限制问题;(七层负载均衡最大使用65535个端口号) ????
- 四层负载均衡可以解决七层负载均衡高可用问题;(多台后端七层负载均衡能同时的使用)
- 四层的转发效率比七层的高得多,但仅支持TCP/IP协议,不支持http和https协议;
- 大并发场景通常会选择使用在七层负载前面增加四层负载均衡。
1 | # 四层+七层来做负载均衡,四层可以保证七层负载的高可用; |
支持四层均衡和七层均衡的应用
nginx
- 四层负载均衡(nginx1.9版本之后才有stream模块,才可以做四层)
- stream
- 七层负载均衡
- upstream
LVS
- 四层负载均衡
HAproxy
- 四层负载均衡
- 七层负载均衡
部署四层负载均衡
环境准备
主机名 | WanIP | LanIP | 角色 | 应用 |
---|---|---|---|---|
lb01 | 10.0.0.5 | 172.16.1.5 | 七层负载均衡 | nginx |
lb02 | 10.0.0.6 | 172.16.1.6 | 四层负载均衡 | nginx |
web01 | 10.0.0.7 | 172.16.1.7 | web网站 | nginx php |
web02 | 10.0.0.8 | 172.16.1.8 | web网站 | nginx php |
db01 | 10.0.0.51 | 172.16.1.51 | 数据库 | mariadb |
部署四层负载(lb02)
1 | # 在web01 web02部署wordpress网页 |
nginx四层负载实现端口转发
在10.0.0.6起789 映射到10.0.0.8的22端口(lb02)
1 | # 创建stream.d目录 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 奥利奥の麦旋风!