作者:Jeff Barr
译者:马若飞
审校:孙海洲
编者按
本文简要介绍了AWS App Mesh的基本概念,并通过一个示例演示了如何在AWS的控制台创建一个App Mesh的服务网格。
前言
AWS App Mesh 可以帮助你运行和监控大规模的HTTP和TCP服务。你可以用一致的方式来路由和监控流量,获得发现问题的能力,并在失败或代码更改后重新路由流量。App Mesh使用开源的Envoy代理,让你可以使用来自AWS合作伙伴和开源社区的各种工具。
服务可以运行在AWS Fargate, Amazon EC2,Amazon ECS, Amazon Elastic Container Service for Kubernetes 或 Kubernetes上。每个服务的所有进出流量都经过Envoy代理,以便对其进行路由、可视化、测量和记录。这种额外的间接层让你可以用任何想要的语言构建服务,而不必使用一组公共的通信库。
App Mesh基本概念
在深入了解之前,让我们先来回顾一下App Mesh里的重要概念和组件:
服务网格 – 网络流量在其服务之间的逻辑边界。网格可以包含虚拟服务、虚拟节点、虚拟路由器和路由。
虚拟服务 – 直接(由虚拟节点)或间接(通过虚拟路由器)提供的服务的抽象(逻辑名称)。网格中的服务使用逻辑名称引用和使用其他服务。
虚拟节点 – 特定任务组(如ECS服务或Kubernetes部署)或运行在一个或多个EC2实例上的逻辑指针。每个虚拟节点可以通过侦听器接受入流量,并通过后端连接到其他虚拟节点。此外,每个节点都有一个服务发现配置(当前是DNS名称),允许其他节点发现任务、pod或实例