我有多个不同的 dockerized 应用程序,每个应用程序都带有适当的 Nginx 服务,该服务根据某些规则将流量发送到其容器。
我需要将这些应用程序放在同一台服务器上,因此我在主机中添加了一个新的 Nginx 来处理 SSL,并将流量转发到正确的 dockerized Nginx。
问题:在主机上使用 Nginx 可以将流量转发到多个不同的 dockerized Nginx 吗?它有什么已知问题吗?这会影响性能吗?
答案1
在主机中使用 Nginx 可以将流量转发到多个不同的 dockerized Nginx 吗?
是的,这实际上是一种常见的做法。
它有任何已知问题吗?
由此设置本身造成的——不是。
这会影响性能吗?
在某种程度上 - 当然:像其他所有负载平衡器一样(它是)它会在缓冲和 TCP 套接字上增加一些延迟。
答案2
在主机中使用 Nginx 可以将流量转发到多个不同的 dockerized Nginx 吗?
是的。这是其中一种方法。
它有任何已知问题吗?
NGINX 的主机实例未容器化,这可能会使其配置更加困难。另一种常见的方法是将 Docker 容器绑定到端口
80
,并443
处理所有入口流量并将其转移到相应的容器。最后,其他容器编排系统(如 Kubernetes)具有内置概念
Ingress
,并允许对其进行配置,就像您在 Docker Compose 中配置容器一样。Kubernetes Ingress 的优点是它可以扩展到多个服务器,而 Docker Compose 则受到更多限制。这会影响性能吗?
到达目标容器的额外一步确实会对性能造成负面影响,但这是常见的事情。