我有一个位于NGINX前面的ALB。 Nginx conf有9个不同的服务器conf,每个服务器conf侦听不同的端口。我正在使用Fargate通过服务发现来部署群集。
现在要通过ALB -> Nginx -> Django-uwsgi APP
路由流量,我向ALB添加了9个不同的目标组和9个侦听器端口,每个侦听器端口都与目标组之一相关联。
请注意,我的ALB不会直接与App通信,而是通过Nginx路由。因此,在配置Fargate APP 服务时,我没有声明任何负载均衡器。仅在配置 NGINX Fargate服务时声明负载均衡器。
现在,在为Nginx fargate服务配置负载平衡器时,我最多只能添加5个目标组。这意味着我的nginx conf只能服务5个服务器conf,目标服务器组是在配置服务时配置的。
如何通过相同的nginx配置配置其余服务?
我;脑海中几乎没有解决方案:-
1)我部署了2个nginx服务nginx1和nginx2,每个服务都有5个目标组。该解决方案具有成本和操作问题。费用,因为将有N
个Nginx服务5N
服务器配置。操作上是因为我必须维护不同的nginx文件。
2)目标组将流量路由到IP(在本例中为nginx服务IP)。因此,每当部署nginx fargate服务时,我都会在服务中未配置的其余所有目标组中手动更新私有IP。但是,这将导致一个问题,每当我的容器发生故障并且Fargate尝试维护我的期望数量时,我的私有IP都会在我不知情的情况下被更改。这将导致其余服务的停机。