单个进程监听多个端口及多个进程监听同一个端口

来源:互联网 发布:中国建设银行总行 知乎 编辑:程序博客网 时间:2024/05/22 16:56

单个进程监听多个端口

单个进程创建多个 socket 绑定不同的端口,TCP, UDP 都行


多个进程监听同一个端口(multiple processes listen on same port)

通过 fork 创建子进程的方式可以实现,其他情况下不行。

当连接到来时,子进程、父进程都可以 accept, 这就是著名的“惊群”问题(thundering herd problem)。


NGINX 的 master/work 处理方法:

Flow of an NGINX worker process


可以设置 ffd 的 close-on-exec flag 避免子进程继承 fd.


0 0