0

我看到 ECS 服务可以使用应用程序负载均衡器,并且动态端口的东西可以自动运行。但是,一个 ALB 最多有 10 条规则,而不是默认规则。这是否意味着我需要为每 10 个服务提供一个单独的 ALB,除非我希望通过不同的端口访问(在这种情况下,默认规则会启动)?这似乎很明显,但对于被吹捧为微服务环境中负载平衡解决方案的东西来说,这似乎是非常有限的。我错过了什么吗?

4

2 回答 2

1

据我所知和经验,这确实是真的,每个 ALB 最多只能有 10 个听众。考虑到这种设置(ALB + ECS)是相当新的,因此亚马逊可能会根据人们的要求调整限制。

还要考虑到侦听器通常有多个目标,在微服务架构中,这会转化为同一服务的多个实例。所以你可以运行 10 个不同的服务,但你可以运行每个服务的 10 个实例,用一个 ALB 平衡 100 个容器。

或者(为了节省成本)您可以创建一个具有多个规则的侦听器,但它们必须通过路径模式来区分并且必须侦听(而不是路由到)同一个端口。规则可以转发到您选择的目标组。例如,您可以在一个侦听器中将 /service1 路由到容器 1,将 /service2 路由到容器 2。

于 2017-01-09T13:42:08.000 回答
0

是的,你是对的,这是一个低限制。但是,如果您能够为您的服务使用不同的 CNAME,那么将它们放在一个 ALB 中,每个服务都有一个目标组,这与拥有一个 ALB 和多个目标组的行为没有什么不同,每个目标组都有规则。动态端口可能是他们“微服务解决方案”论点的主要部分。

于 2017-01-09T13:47:33.313 回答