4层的负载均衡
Nginx从1.9.0版本开始,新增了ngx_stream_core_module模块,使nginx支持四层负载均衡。默认编译的时候该模块并未编译进去,需要编译的时候添加–with-stream,使其支持stream代理。
HTTP负载均衡,也就是我们通常所有“七层负载均衡”,工作在第七层“应用层”。而TCP负载均衡,就是我们通常所说的“四层负载均衡”,工作在“网络层”和“传输层”。例如,LVS(Linux Virtual Server,linux虚拟服务)和F5(一种硬件负载均衡设备),也是属于“四层负载均衡”。
nginx的TCP反向代理配置
stream {
upstream ssh {
server 192.168.3.252:22;
}
server {
listen 8092;
proxy_pass ssh;
proxy_connect_timeout 1h;
proxy_timeout 1h;
}
}
其余HTTP段的配置跟普通代理没有区别
TCP负载均衡原理上和LVS等是一致的,工作在更为底层,性能会高于原来HTTP负载均衡不少。但是,不会比LVS更为出色,LVS被置于内核模块,而Nginx工作在用户态,而且,Nginx相对比较重。