1 介紹
負載均衡是指有效的通過多個後端伺服器分發網路流量。
nginx能**和負載均衡tcp、udp通訊。tcp(傳輸控制協議)、udp(使用者資料報協議)是許多流行應用程式和服務的協議,例如ldap、mysql和rtmp使用tcp協議,dns、syslog和radius
2 需要
使用--with-stream配置標記構建最新nginx,或最新的nginx+(不需要額外構建步驟)
應用程式、資料庫或服務基於tcp或udp通訊
upstream伺服器執行相同的應用程式、資料庫或服務例項
3 配置反向**
首先,你需要配置反向**,因此,nginx**來自客戶端的tcp連線或udp資料報到upstream組或乙個**伺服器。
開啟nginx配置檔案並執行以下步驟:
建立頂級stream {}塊
stream 上下文中為每個虛擬主機定義乙個或多個server {}配置塊。
stream 配置塊在頂級steam {}上下文,設定upstream組的名字,例如,tcp伺服器steam_backed和udp伺服器dns_servers:
stream 塊中,為每個upstream伺服器新增server指令,指定ip位址或主機名(解析多個ip位址)和必須的埠號。
stream 上下文中的match {}配置塊。指定match {}塊並設定它的名字,例如,tcp_test:
stream 塊或確保在你的配置檔案中存在
建立配置請求的location,例如,upstream_conf。
server {
location /upstream_conf {
在該location中指定upstream_conf指令——乙個能用於解釋和重新配置upstream組的處理器
server {
location /upstream_conf {
upstream_conf;
限制該location的訪問
server {
location /upstream_conf {
upstream_conf;
allow 127.0.0.1;
deny all;
建立共享記憶體區域
stream {
upstream stream_backend {
zone backend 64k;
7.1 動態配置例子
stream {
server backup1.example.com:12345 backup;
server backup2.example.com:12345 backup;
server {
health_check;
server {
location /upstream_conf {
upstream_conf;
allow 127.0.0.1;
deny all;
瀏覽所有備機
新增新伺服器到伺服器組
從伺服器組刪除伺服器
修改指定伺服器
8 tcp和udp負載均衡配置例子
stream {
upstream stream_backend {
least_conn;
server backend1.example.com:12345 weight=5;
server backend2.example.com:12345 max_fails=2 fail_timeout=30s;
server backend3.example.com:12346 max_conns=3;
upstream dns_servers {
least_conn;
server 192.168.136.130:53;
server 192.168.136.131:53;
server 192.168.136.132:53;
server {
listen 12345;
proxy_pass backend;
proxy_timeout 3s;
proxy_connect_timeout 1s;
server {
listen 53 udp;
proxy_pass dns_servers;
server {
listen 12346;
proxy_pass backend.example.com:12346;
springcloud(Ribbon負載均衡)
搭建步驟 1.使用者服務的集群 2.訂單服務整合ribbon 2.1.匯入ribbon的依賴 2.2.在resttemplate的bean定義方法上加上 loadbalanced註解 2.3.把訂單的controller向使用者發起呼叫的resttemplate的url使用服務名呼叫,如 http ...
SpringCloud Ribbon 負載均衡
ribbon eureka都是netflix旗下的專案,eureka client內建了ribbon,用於實現負載均衡,預設使用輪詢。輪詢是最簡單的負載均衡演算法,每次呼叫服務拿到節點列表後,從前往後依次輪詢類表中的每個節點,誰空閒就呼叫誰。測試時往往都是呼叫列表的第乙個節點,因為重新整理的手速遠遠...
linux centos nginx做負載均衡
nginx 是 c語言 開發,建議在 linux 上執行,當然,也可以安裝 windows 版本,本篇則使用 centos 7 作為安裝環境。一.gcc 安裝 yum install gcc c 二.pcre pcre devel 安裝pcre perl compatible regular exp...