北京赛车pk10直播开奖
首頁
登錄 | 注冊

簡單測試Nginx1.90做TCP協議負載均衡的功能

最近工作中需要做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 的下載地址:請點這里



2019 monjeep.com webmaster#monjeep.com
12 q. 0.010 s.
京ICP備10005923號
北京赛车pk10直播开奖
新时时保号法 7张牌梭哈技巧 足彩胜负彩月安排 宁夏十一选五开将结果 群英会专家预测 天津时时开奖记录记录 三分彩怎么玩 快3助手 真人龙虎斗程序 香港内部一码一肖期期准