回答
收藏
分享
举报
dns resolver 源码问题
提问于2020-11-16 12:22

浏览 893

如下配置一个server的location

server {

        listen       8000;

        location / {

            resolver 114.114.114.114;

            set $foo www.baidu.com;

            proxy_pass https://$foo;

        }

}


问题:

1) 如果有多个worker运行,第一个request到了一个worker process 1,第二个同样的request到达了worker process 2. 这样的话worker process 1解析的dns 结果不能被worker process 2同享,意味着worker process 2要进行同样的dns解析动作?

2) nginx中如果每一个location都有自己的resolver, 然后这些resolver只能被发向这一个location的请求使用?有没有办法可以做到一个global的resolver让所有worker process的所有的请求都可以使用?


已修改于2023-03-16 07:40



写下您的回答
发表回答
全部回答(1)

按点赞数排序

按时间排序

 1)是的。各个worker process单独维护dns resolver结果,不能共享。

2)是的。各个location可以有自己的resolver。现在还没有一个global的resolver可以多个worker process共享。

赞同

2

回复举报

回答于2020-11-17 21:48



回复皮皮鲁
回复
阿尔巴回复了

感谢回答,对我很有帮助

0

回复举报

回答于2020-11-18 09:23



回复阿尔巴
回复
阿尔巴回复了

感谢大佬

0

回复举报

回答于2020-11-18 09:23



回复阿尔巴
回复
提问者
云原生
这家伙很懒还未留下介绍~
15
文章
4
问答
4
粉丝
相关问答

不转化成IP没有办法连接呀?可以考虑使用动态DNS,这样服务器的IP即使变化也可以很快检测到。

点赞 0
浏览 752

开源版本身不支持 ftp,因为有alg的问题。

可以参考这个插件。

 https://github.com/pei-jikui/nginx-alg。


点赞 0
浏览 988