是否有可能通过相同的URL创建几个具有平衡访问权限的网关码头容器?
我现在有了下面的yaml文件
version: "3.9"
services:
gateway:
image: "foo/gateway"
ports:
- "8888"
networks:
- "my-net"
deploy:
replicas: 5
x-scaling: "4-7"
factorial:
image: "foo/factorial"
expose:
- "8081"
networks:
- "my-net"
deploy:
replicas: 3
x-scaling: "2-4"
fibonacci:
image: "foo/fibonacci"
expose:
- "8082"
networks:
- "my-net"
deploy:
replicas: 2
x-scaling: "1-3"
networks:
my-net:
driver: "bridge"
现在我有3个阶乘容器、2个fibonacci容器和5个具有不同端口的网关容器。每个网关容器都可以访问一些阶乘/fibonacci副本,但我需要指定网关的一个端口。
是否有任何方法为网关提供一个URL,并通过Docker在网关副本之间实现请求平衡?
实际上,我将创建一个ECS集群,其中包含和ecs上下文,但是这个配置并没有像我看到的那样为我提供任何平衡。
发布于 2022-11-15 08:12:24
你可以使用nginx。将后端放在nginx后面,并在nginx中负载平衡它们。就像下面这样。
upstream backend
{
server factorial:8001;
server fibonacci:8002;
}
location /
{
proxy_pass http://backend/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto https;
}
https://stackoverflow.com/questions/74436037
复制相似问题