1

我对这两种技术都是新手,但很难理解这两种技术到底有什么不同,一个用例示例将非常有帮助。

4

2 回答 2

2

AWS ECS 是允许部署和扩展容器的容器编排服务。假设您有 10 个应用程序要部署在 EC2 机器上。ECS 将为您提供一种简单的方法来部署和管理它们,在需要时扩展应用程序等。

现在,这 10 个应用程序可能想要相互交谈。一种方法是使用 ip 地址并对其他应用程序进行 RPC 调用。但是,此过程无法扩展。如果机器重新启动或应用程序或应用程序移动到另一台 EC2 机器等怎么办?

因此,您需要一个管理应用程序到 EC2 机器的映射的中间件,这样应用程序就不必为如何调用其他应用程序而烦恼。

AWS AppMesh 正好提供了该中间件。它提供了一个应用程序级别的网络,以便您的服务可以与其他服务进行通信。

于 2022-01-04T06:27:34.157 回答
1

ECS - 以集群方式将容器作为任务/服务运行的平台。

当多个容器在 ecs 集群中运行时,它们可能希望彼此或其他 aws 服务通信。这些容器应该通过 ip/endpoint..etc 知道其他容器/服务在哪里。这就是服务发现发挥作用的地方。

Appmesh - Appmesh 是一个服务发现工具以及更多功能。其中之一是确保容器之间的可靠通信。

  • Appmesh 使用 envoy 作为 ecs 中的 sidecar 来实现服务发现(以及更多)功能。
  • 大多数情况下,Appmesh 与 Aws CloudMap 结合使用。
于 2022-01-05T09:24:56.113 回答