【发布时间】:2018-08-03 23:15:40
【问题描述】:
我有两个微服务需要部署在同一个 ECS 服务中以有效利用资源。
它们都具有相同的上下文路径,因此不能在 ALB 中使用路径模式过滤器,并且 ECS 似乎不允许在单个 ECS 中使用多个 ALB。
是否可以有两个目标组在不同的端口为微服务提供服务?还是有其他解决办法?
【问题讨论】:
标签: amazon-web-services amazon-ecs
我有两个微服务需要部署在同一个 ECS 服务中以有效利用资源。
它们都具有相同的上下文路径,因此不能在 ALB 中使用路径模式过滤器,并且 ECS 似乎不允许在单个 ECS 中使用多个 ALB。
是否可以有两个目标组在不同的端口为微服务提供服务?还是有其他解决办法?
【问题讨论】:
标签: amazon-web-services amazon-ecs
是的,您可以在同一个 ALB 下拥有两个不同的目标组,每个目标组都有一个唯一的端口。我使用这种结构来支持具有 ALB 的同一实例上的 HTTP 和 HTTPS 协议。 ECS应该是一样的
【讨论】:
您绝对可以让一个 ALB 在 ECS 实例的不同端口上为两个不同的微服务提供服务。通常,当您走到这一步时,您可能希望查看动态端口映射。 ALB 仍然需要一种方法来决定去哪个目标组——例如,主机名匹配。
我不完全确定我理解的是您为什么要共享 ECS 服务 - 为什么不将每个微服务放在其自己的 ECS 服务中并改为共享 ALB?
无论如何,两者都有可能。我有几个微服务,每个都有自己的 ECS 服务共享 ECS 实例和集群中的 ALB,使用 ALB 上的主机名匹配。如果真的想用一个ECS服务,好像还是可以的。
【讨论】: