遵循Docker的最佳实践-创建容器时应牢记“单一责任”原则-将nginx和一些我的自定义服务放在单独的docker容器中是一个好主意。但问题是-如果我运行在一个自动缩放/负载平衡的环境中,其中我至少有2-3个相同容器的运行副本-我应该为我的每个自定义服务集群使用一个单独的nginx容器集群,还是应该为整个基础设施使用一个nginx容器集群(但只需更多的实例)。请找一个有插图的例子。

这有什么不同吗?
发布于 2018-11-09 23:46:00
我不认为这个问题有一个绝对的答案,所以我只是抛出我目前(随机)的想法。
首先,这取决于您使用nginx做什么。如果它被用来托管网页打包的网站,那么请确保你的每个frontend服务都需要一个nginx,结合nginx.conf中的worker_processes,你就有了一个简单的前端负载均衡解决方案。如果您想使用它作为反向代理进行负载均衡,一个实例就足够了(当集群变大时,您可以添加更多实例来形成多层负载均衡)。
Second swarm实际上有一个开箱即用的原生load balancer。
第三,也要考虑设置nginx的复杂性。就我个人而言,我不认为nginx的设置和调试足够简单。像traefik.io这样的现代解决方案更容易使用,并且在构建时考虑到了集群,并提供了额外的功能,如通过let‘s’encrypt自动配置https。
https://stackoverflow.com/questions/53226575
复制相似问题