AWS App Mesh结合了Envoy的专有技术作为其服务代理,通过创建虚拟服务在相同名称空间内的连接服务。AWS环境中的每个微服务都可以找到该虚拟服务,并将其用于将通信引导至其他微服务。
AWS App Mesh与其他AWS服务,如EKS,Fargate和EC2的无缝集成是其最强的优势之一,但是在使用AWS App Mesh方面存在一些限制,不能迁移到App Mesh外部或在多云设置中使用这项服务。
此外,App Mesh还借助CloudWatch和AWS X-Ray来管理服务网格,但这意味着你无需离开主仪表板就可完全控制服务网格层。尽管App Mesh不支持授权规则,但也支持如mTLS、高级负载均衡之类的安全功能。
Istio
Istio是Kubernetes最受欢迎的服务网格工具。最初是由为Lyft开发,之后成为了Google和IBM联合的开发项目。背靠这样的巨头,Istio在许多部署类型中得到广泛使用就不足为奇了。
与App Mesh相似,Istio也使用Envoy作为其服务代理,但并不仅限于Envoy作为唯一的入口控制器。Istio的独特之处在于它提供了巨大的灵活性,而没有通常的复杂性。实际上可以将Istio用于其他容器化平台,但是它与Kubernetes的无缝集成才是最为关键的
例如,Istio支持网格扩展和多集群网格,这两个功能都是App Mesh和许多其他服务网格工具所没有的。Istio也像执行这些任务一样处理流量访问控制和负载均衡。它甚至支持故障注入和延迟注入。
而使用Istio的唯一不足就是可能会对它提供的功能感到不知如何下手。但如果有足够的资源使用Istio处理服务网格层,则它可以利用其功能简化最复杂的微服务体系架构。
Linkerd
Linkerd也是非常流行的服务网格工具。Kubernetes社区已经很好地接受了新的系列版本,到2020年4月中旬,其稳定的2.7.1版本已经发布。它完全是作为独立的服务网格工具构建的,因此它不依赖Envoy等第三方工具进行管理。它甚至包含linkerd-proxy作为服务代理。