nginx 1.9ポートベースの4層負荷等化実践、ポートベースの回転負荷等化


大型プロジェクトでは4層負荷にLVSがあるが、中小規模プロジェクトや内部ではTCP 4層ベースのポート転送が必要なアプリケーションが多く、以前はSocatを採用していたが、後にiptablesを用いて4層のポート転送を試みた.同様にHAProxyは高可用性、負荷バランス、TCPとHTTPアプリケーションベースのエージェントを提供しているが、その配置が比較的複雑であるため、実際の生産プロジェクトではやはりNginxを主とし、
Nginx 1.9の発売はHTTP 2.0をサポートさせるのではなく、もう一つワクワクするのはTCPポートをデフォルトでサポートする4層負荷等化能力であり、インスタンスコードを直接見ると多くのことを言う
server {
    listen 127.0.0.1:12345;   #    
    proxy_pass 192.168.1.22:8080;      #       
}

上の栗を見ると、ポート転送の配置がとても簡単だと思いますか?
参照先:http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html
server {
    ...
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    deny  all;
}

上の栗に加えて、アクセス制限を追加して、HTTPにそっくり
参照先:http://nginx.org/en/docs/stream/ngx_stream_access_module.html
worker_processes auto;

error_log /var/log/nginx/error.log info;

events {
    worker_connections  1024;
}
stream {
    upstream backend {
        server 192.168.1.22:12345;
        server 192.168.1.23:12345;
    }
    server {
        listen 12345;
        proxy_pass backend;
    }

}

完全な栗に来て、これはバランスのとれた栗に伏せていますよ.特に興奮しているかどうかを見て、Httpの逆代理店になります.このコードを見てもプレッシャーはありません.
より強力なものが必要な場合は、次のように参照してください.
http://nginx.org/en/docs/stream/ngx_stream_core_module.html
server {
    listen 12345;
    proxy_connect_timeout 1s;
    proxy_timeout 1m;
    proxy_pass example.com:12345;
}

server {
    listen [::1]:12345;
    proxy_pass unix:/tmp/stream.socket;
}

以上のように栗は、TCP/IP V 4だけでなく、V 6もサポートしています(ただし、しばらくは使えません)、接続の時効を制限することもでき、以前使ったiptablesやsocatポート転送よりも強すぎて理解しやすい.
上の参照パス:http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html
upstream backend {
    hash $remote_addr consistent;

    server backend1.example.com:12345  weight=5;
    server backend2.example.com:12345;
    server unix:/tmp/backend3;

    server backup1.example.com:12345   backup;
    server backup2.example.com:12345   backup;
}

server {
    listen 12346;
    proxy_pass backend;
}

など、まだ终わっていないで、Nginxは更に强大なのは私の产の転送源に対しても简単明瞭な设置を行うことができて、基本的にNginx httpの逆方向の代理の配置方法の主な风格を踏襲して、まったく好きです.
http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html
最後にNginxを使って、お母さんは二度と複雑なアーキテクチャを心配する必要はありません.各種の異機種アプリケーションは各種の奇抜な7層プロトコルとポートを使用しています.
本文は“Linux_运维_自动化”のブログから出て、転载して作者と连络してください!