【问题标题】:Communication between two or more instances of an ECS service两个或多个 ECS 服务实例之间的通信
【发布时间】:2020-08-04 17:30:06
【问题描述】:

我知道,借助 AWS ECS 的服务发现,您可以通过使用 url 上的 service.cluster 模式使一个服务与另一个服务通信(而服务发现会为您完成剩下的工作)。但我想知道是否有办法让一个服务实例与 AWS Elastic Container Service 上同一服务中的其他容器进行通信。

我已经搜索了一段时间并决定在这里询问,因为我无法找到任何关于如何使其工作的结论性想法。

【问题讨论】:

    标签: amazon-web-services amazon-ecs


    【解决方案1】:

    您需要将您的 ECS 服务与 Application Load Balancer (ALB) 相关联,以确保 ECS 将向 ALB 注册任务(即一个或多个容器),为服务相互通信提供统一的 URL。 ALB 支持到多个目标组的基于路径的路由,允许在任务/服务之间进行微服务式通信。

    根据 AWS 文档1,您可以将单个 ALB 用于多个服务,因为 ALB 提供基于路径的路由和优先级规则。如需更多信息,您还可以查看此链接2,其中解释了如何使用基于路径的路由将请求转发到具有不同 ECS 任务/服务的不同目标组。

    【讨论】:

    • 有了这个,我可以让我的任务与其他服务上的任务进行通信,但我能否与我自己的服务上的其他任务进行通信?我已经使用 ALB 进行基于路径的路由,以在 Internet 和其他服务之间进行通信(在同一集群上的服务之间,我使用 ECS 自己的服务发现)
    猜你喜欢
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2014-09-22
    • 2021-08-30
    • 2017-07-15
    • 1970-01-01
    相关资源
    最近更新 更多