国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請問作者Gatewayworker 分布式長連接 Nginx 代理超10w連接

meows

問題描述

舉個例子:Gatewayworker 這時候有20W websocket 長連接,前面需要掛Nginx代理,但單機最大代理客戶端<= 65535

為此你搜索到了哪些方案及不適用的原因

請問如何才能超出6w+,達到20w長連接代理客戶端呢?

1432 1 5
1個回答

walkor 打賞

一個連接包含四個部分,本地ip+本地端口+遠程ip+遠程端口,這四個元素唯一標記一個連接。本地端口有限制最高65535,所以只需要更改本地ip 遠程ip 遠程端口即可突破65535限制。所以就有多種方案

1、比如nginx本地代理,你可以用 127.0.0.1 和 192.168.xx.xx(內網(wǎng)ip) 去連遠程端口,就可以達到2個65535限制

upstream webman {
    server 127.0.0.1:8787;
    server 192.168.xx:xx:8787;
}

2、你也可以給linux系統(tǒng)添加一個虛擬ip,這樣想多少個65535都可以。注意要有話linux內核 http://m.wtbis.cn/doc/workerman/appendices/kernel-optimization.html ,尤其是 Soft open files 這些。

3、比如gateway開多個端口也可以,幾個端口就有幾個65535連接。

4、比如直接用unixsocket也行,就沒有本地端口限制

  • meows 2023-09-13

    感謝walkor 大佬回答

  • meows 2023-09-13

    nginx 主機IP192.158.23.32, 這時候連接到如下主機:
    upstream webman {
    server 127.0.0.1:8787;
    server 192.168.xx:xx:8787;
    keepalive 10240;
    }

    這時候是不是客戶端的端口號是允許重復的嗎?
    舉個例子:
    IP192.158.23.32:65000 -> connect server 192.168.xx:xx:8787;
    IP192.158.23.32:65000 -> connect server 127.0.0.1:8787;
    walkor 大佬是這意思吧!感謝你的解答。

  • walkor 2023-09-13

    理論上是可以重復的,四個元素只要有一個不同即可

  • meows 2023-09-13

    好的,感謝walkor大佬答疑。

年代過于久遠,無法發(fā)表回答
??