gpt4 book ai didi

docker - AWS服务发现,nginx和节点问题

转载 作者:行者123 更新时间:2023-12-02 19:57:31 24 4
gpt4 key购买 nike

我正在AWS ECS Fargate中运行2个服务。一种是在应用程序负载平衡器后面运行的nginx容器。另一个正在使用node.js应用程序运行。节点应用程序与服务发现一起运行,并且Nginx容器代理到节点应用程序容器的“服务发现端点”。

我的问题是:
将节点应用程序容器从1扩展到2后,Nginx无法将请求发送到新产生的容器。它仅将请求发送到旧容器。重新启动/重新部署nginx容器后,它可以将请求发送到新容器。

我尝试使用“0” DNS ttl作为服务发现端点。但是面临同样的问题。

最佳答案

如果您的服务器被指定为上游组的一部分或在某些其他情况下,Nginx不会在运行时解析解析,有关更多详细信息,请参见this SF post。这意味着Nginx从不知道要为服务发现注册新容器。

您尚未发布Nginx配置,因此很难说您可以在那里做。对于proxy_pass指令,有人建议使用变量来强制运行时解析。

另一个想法可能是从Nginx容器公开一个HTTP端点,该端点侦听连接并重新加载Nginx配置。然后,在注册新容器时,可以由lambda触发此终结点(Lambda依次由CloudWatch事件触发)。免责声明:我尚未在实践中尝试过此方法,但它可能有效。

关于docker - AWS服务发现,nginx和节点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56891577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com