阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

简单测试Nginx1.90做TCP协议负载均衡的功能

260次阅读
没有评论

共计 1825 个字符,预计需要花费 5 分钟才能阅读完成。

最近工作中需要做 TCP 层面的负载均衡,以前网站用的反向代理 nginx 只支持应用层的负载均衡,对于 TCP 协议是无能为力的,需要使用 LVS(linux 虚拟服务器)。

LVS 的特点是高性能和极复杂的配置、对网络环境的要求比较高。最近苦于 LVS 的配置测试,网上的文档和社区都比较少,按照各种教程配置,TCP 报文均无法连通,再往下深究就要去研究公司虚机的网络结构了 …

在寻找 LVS 配置调试方法时,看到一篇最近的文章讲 4 月 28 日刚刚发布的 nginx1.90,添加了支持 TCP 协议的负载均衡的,如果只是需要做 TCP 协议的负载均衡的话,这个是可以满足需求的。如果涉及到 UDP 或者传输层以上的其他协议,那就必须得继续死磕 LVS 了。

下面测试 nginx 代理 TCP 协议的配置。

realserver : 10.134.241.68

nginx :10.134.72.166

客户端:10.129.157.168

TCP 监听端口:2014

一、配置 nginx

看官网上的文档 http://nginx.org/en/docs/stream/ngx_stream_core_module.html

nginx1.90 对 TCP 协议的代理并不是默认开启的,需要在编译的时候配置 –with-stream 参数:

[img]http://images.cnitblog.com/blog2015/450613/201505/071746123452724.png[/img]

nginx.config 文件参照官网:

stream {

upstream cloudsocket {

hash $remote_addr consistent;

server 10.134.241.68:2014 weight=5 max_fails=3 fail_timeout=30s;

}

server {

listen 2014;

proxy_connect_timeout 1s;

proxy_timeout 3s;

proxy_pass cloudsocket;

}

}

启动 nginx,发现 nginx 已经开始监听 2014 端口了

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

二、测试客户端连 realserver

在客户端通过 telnet 连接 realserver 的 2014 端口:

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

在 realserver 上查看网络连接:

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

可以正常连接

三、测试客户端连接 nginx

在客户端通过 telnet 连接 nginx 所在服务器的 2014 端口

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

在 nginx 机器上查看网络连接

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

在 realserver 上查看网络连接

简单测试 Nginx1.90 做 TCP 协议负载均衡的功能

可以注意到 nginx 是给做了一个 TCP 连接的中转。

实际上这种负载均衡的方式有点像 LVS 的  VS/NAT 工作模式,数据报文的发送和接收都要经过负载均衡器,有需要替换的话这两种技术是可以平滑过渡的。

它可以运算处理能力的瓶颈,但是当用户请求越来越多时,nginx 的处理能力将成为瓶颈。

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-05/117150.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1825字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中