个人笔记nginx:四层负载均衡

本文介绍了负载均衡的概念,重点讲解了基于Nginx的四层负载均衡配置,包括端口转发、四层负载均衡日志记录以及如何在四层+七层负载均衡中透传真实IP。适合需要实施Nginx负载均衡解决方案的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、负载均衡的概念

1.什么是负载均衡

基于传输层 协议包来封装的 ( TCP/IP ), 七层负载均衡是 应用层协议,他组装在四层 负载均衡基础之上,无论是四层负载均衡还是 七层负载均衡 都指的是 OSI 网络模型。

传输层:tcp/udp协议 端口 ( 基于 ip+port的负载均衡 ) ssh(22) mysql(3306) redis(6379)
应用层:请求的uri、Header修改、权限控制、访问规则等等

2.四层负载均衡的应用场景
  1. 实现端口转发
    ssh、mysql等都是TCP协议请求,只能使用tcp方式 连接的服务,我们就可以使用四层负载均衡来调度。

    1. 四层结合七层实现大规模集群架构
      原因:
      1. 七层负载均衡能够接收连接数有限,需要配置多台七层负载均衡。
      问题: 多台七层如何实现轮询?
      解决: 在多台七层负载均衡前面接入四层负载均衡
      2. 四层可以保证七层负载均衡的高可用性。

注意:四层负载均衡 不识别你的域名,他仅识别端口,所以在四层结合七层的情况下,四层做端口转发,七层来实现域名的匹配,然后代理到后端web节点。
总结四层负载均衡:
2. 四层负载均衡仅能转发TCP/IP协议、UDP协议,通常用来转发端口:如 tcp/80 tcp/443 tcp/3306 tcp/22 udp/53
3. 四层负载均衡可以解决七层负载均衡高可用性的问题。( 多个七层负载均衡同时提供服务 )
4. 四层负载均衡可以解决七层负载均衡端口数限制问题。(七层负载均衡最多能使用的端口是5w)
5. 四层转发效率远比七层代理的效率高的多,但是他只能支持tcp/ip协议,所以他的功能较弱,虽然七层效率不高,但他支持http/https这样的应用层协议。

	四层:性能高,功能弱
	七层:性能差,功能强

二、基于Nginx来配置四层负载均衡( 扩展项 )

1.需要安装Nginx

2.nginx配置四层负载均衡的语法:stream模块来实现的

stream {
   
    upstream backend {
   
        hash $remote_addr consistent;
        server backend1.example.com:12345 weight=5;
        server 127.0.0.1:12345 max_fails=3 fail_timeout=30s;
        server unix:/tmp/backend3;
    }

    server {
   
        listen 12345;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass backend;
    }
}
	stream是四层负载均衡的配置,不能出现在http {
   } 里面



重点:
[root@lb-4 ~]# gzip  /etc/nginx/conf.d/default.conf
配置四层负载均衡 (七层+多web) (1个四层 + N多个七层 + 2~3个web节点 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值