首页 > 其他 > 详细

四层负载均衡

时间:2020-05-29 20:41:00      阅读:40      评论:0      收藏:0      [点我收藏+]

课前回顾

代理,代理服务器,使用proxy模块
负载均衡解决了,使用一个域名访问多台web的问题,必须要使用proxy+upstream
	负载均衡和共享存储都是为了web的共享

七层负载均衡:识别域名,作用于http层
四层负载均衡:不识别域名,作用于tcp层,可以做端口转发,做数据库的代理

nginx在1.9版本之前不支持四层负载均衡
nginx在1.9版本之后支持了四层负载均衡

nginx状态异常是因为配置文件有错误,所以nginx无法启动,显示allredey in use
	nginx做四层负载均衡的时候不能使用,别的server使用过的端口,否则无法启动

负载均衡详解

七层网络模型

TP

技术分享图片

四层负载均衡

技术分享图片

nginx四层负载均衡配置

需要使用ngx_stream_core_module模块

启动的话,需要注释掉所有的同一个端口的别的nginx服务

可以做7层负载均衡的高可用,四层负载均衡的数据传输比7层快

四层负载均衡可以做7层负载均衡的高可用

#配置主配置文件(驱动层和事件层之间)
[root@lb04 ~]# vim /etc/nginx/nginx.conf
events {
        ....
}
include /etc/nginx/conf.c/*.conf;
http {...}

[root@lb04 ~]# vim /etc/nginx/conf.c/sfz.conf 
stream {
    upstream lb {
            server 172.16.1.7:80 weight=5 max_fails=3 fail_timeout=30s;
            server 172.16.1.8:80 weight=5 max_fails=3 fail_timeout=30s;
    }
	
    server {
            listen 800;
            proxy_connect_timeout 3s;
            proxy_timeout 3s;
            proxy_pass lb;
    }
}

Nginx四层负载均衡端口转发模板

端口转发:

端口映射:

[root@lb4-01 ~]# cat /etc/nginx/conf.c/sfz.conf 
stream {
#定义转发ssh的22端口
    upstream ssh_7 {
            server 10.0.0.7:22;
    }
#定义转发mysql的3306端口
    upstream mysql_51 {
            server 10.0.0.51:3306;
    }
    server {
            listen 5555;
            proxy_connect_timeout 3s;
            proxy_timeout 300s;
            proxy_pass ssh_7;
    }

    server {
            listen 6666;
            proxy_connect_timeout 3s;
            proxy_timeout 3s;
            proxy_pass mysql_51;
    }
}

1、通过访问负载均衡的5555端口,实际是后端的web01的22端口在提供服务;
2、通过访问负载均衡的6666端口,实际是后端的mysql的3306端口在提供服务。

四层负载均衡

原文:https://www.cnblogs.com/syy1757528181/p/12989242.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!