结合使用AWS ECS Service发现和Application Load Balancer

时间:2019-09-16 18:11:02

标签: amazon-web-services amazon-ecs amazon-elb service-discovery aws-fargate

在ECS集群中创建Fargate服务时,我使用的是应用程序负载平衡器,而且我还使用的是服务发现,因此我的服务具有终结点。我的问题是:我应该将请求发送到服务发现提供的端点还是负载平衡器?

此外,服务发现如何决定将请求发送至哪个任务?

我已经搜索过AWS文档,但找不到该问题的直接答案。

2 个答案:

答案 0 :(得分:0)

服务发现用于网络级别的通信。 用于客户端-服务器的负载均衡器,或者通过Internet通信进行负载均衡。

因此,如果要从VPC外部发送请求,则将使用负载均衡器。

如果要在VPC中发送请求,则可以使用服务发现。

  

服务发现如何决定应将其发送给哪个任务   要求?

enter image description here

因此Route53具有针对每个Fargate服务的IP。

要了解两种服务如何一起工作,请在此图中查看

enter image description here

因此,对于内部通信而言,最好使用服务发现来节省时间,因为呼叫在同一网络上。

为了使客户端与服务器之间的通信更好,请使用Loadbalancer。

amazon-ecs-service-discovery

答案 1 :(得分:0)

负载均衡器提供您可以向其发送请求的端点。负载均衡器负责将请求路由到不同的任务,您实际上无法控制它。

另一方面,

服务发现是一项功能,允许服务通过名称/ URL相互查找。在微服务的情况下,这使得内部通信更加容易,在这种情况下,主服务器可以知道所有服务的发现URL并在微服务之间传递消息