目录
七层负载均衡集群
一、Nginx七层负载均衡
OSI:是一个开放性的通行系统互连参考模型,是一个定义的非常好的协议规范,共包含七层协议。
OSI参考模型 | 各层的解释 |
---|---|
应用层 | 为用户程序提供服务 |
表示层 | 数据格式转化、数据加密 |
会话层 | 建立、管理和维护会话 |
传输层 | 建立、管理和维护端到端的连接 |
网络层 | Ip地址及路由选择 |
数据链路层 | 提供介质访问和链路管理 |
物理层 | 物理层 |
四层协议:TCP/IP协议
TCP/TP协议包括TCP、IP、UDP、ICMP、RIP、SMIP、ARP、TFTP等诸多协议,这些协议一起称为TCP/TP协议。
从协议分层模型来讲,TCP/TP分为网络接口层、网络层、传输层、应用层四个层次
1、7层upstream模块
2、4层stream模块
stream模块用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。stream模块的用法跟http的用法类似,允许我们配置一个TCP或者UDP等协议的监听,然后通过proxy_pass来转发我们的请求,通过upstream添加多个后端服务,实现负载均衡。
注意;stream模块和http模块是同一等级;做四层代理时需要添加上这个模块。
#4层tcp负载
stream {
upstream myweb { //myweb是四层负载均衡的名称
hash Sremote_addr consistent; //hash是算法
server 192.168.142.130:8080 //后面所用的real server
server 192.168.142.131:8080
}
server {
listen 82;
proxy_connect_timeout 10s;
proxy_timeout 30s;默认值为10分钟,nginx接受后端服务器的响应超时时间
proxy_pass myweb;
}
}
实例:配置4层代理
(1)首先安装nginx,在安装nginx的时候,遇到无可用软件包nginx,可以安装外源扩展包yum install -y epel-release然后在安装nginx就可以了。或者在官网上进行下载也可以的。
(2)将nginx源配置文件进行备份cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
(3)然后编辑nginx 的配置文件vim /etc/nginx/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: nginx documentation
# * Official Russian Documentation: nginx: документация
user nginx;
worker_processes auto; //进程
error_log /var/log/nginx/error.log; //错误日志的地方
pid /run/nginx.pid; //pid的地方
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024; //工作的线程最大值
}
#配置四层代理