AWS App Mesh 使您可以轻松监控和控制运行于 AWS 上的微服务。App Mesh 标准化了微服务的通信方式,为您提供端到端的可见性,并有助于确保应用程序的高可用性。
现代应用程序通常由多个微服务组成,每个微服务执行一项特定功能。这种架构有助于提高应用程序的可用性和可扩展性,因为它允许每个组件根据需求独立扩展,并且当组件出现故障时会自动降低功能,而不是离线。每个微服务通过一个 API 与所有其他微服务进行交互。随着应用程序中微服务数量的增长,确定错误的确切位置、在故障后重新路由流量并安全部署代码变更变得越来越困难。之前,这需要您直接在代码中构建监控和控制逻辑,并在每次发生变更时重新部署微服务。
AWS App Mesh 通过为应用程序中的每个微服务提供一致的可见性和网络流量控制,可以轻松运行微服务。App Mesh 无需更新应用程序代码即可变更监控数据的收集方式或微服务间流量的路由方式。App Mesh 配置每个微服务以导出监控数据,并在整个应用程序中实现一致的通信控制逻辑。这样可以轻松快速地查明错误的确切位置,并在出现故障或需要部署代码变更时自动重新路由网络流量。
您可以使用 App Mesh 与 Amazon ECS 和 Amazon EKS 来更好地大规模运行容器化微服务。App Mesh 使用开源 Envoy 代理,使其与各种 AWS 合作伙伴和开源工具兼容,以监控微服务。
App Mesh 现已作为公开预览版推出。
优势
端到端可见性
App Mesh 可一致地捕获每个微服务的指标、日志和轨迹。您可以将此类数据组合并导出到 Amazon CloudWatch、AWS X-Ray 以及兼容的 AWS 合作伙伴和社区工具,用于监控和跟踪*。这样,您可以快速识别和隔离任何微服务的相关问题,以优化整个应用程序。
确保高可用性
App Mesh 可向您提供控件以配置流量在微服务之间的流动方式。您可以轻松实施自定义流量路由规则,以确保每个微服务在部署期间、故障后以及应用程序扩展时都高度可用。
简化操作
App Mesh 部署并配置了一项代理,用于管理进出容器的所有通信流量。这消除了为每个微服务配置通信协议、编写自定义代码或实施库来操作应用程序的需要。
增强任何应用程序
您可以将 App Mesh 与 AWS Fargate、Amazon ECS、Amazon EKS 上运行的现有或新微服务以及 AWS 上的自主管理 Kubernetes 一起使用。App Mesh 可以作为单个应用程序监控和控制跨集群、编排系统或 VPC 运行的微服务的通信,而无需任何代码更改。
工作原理
App Mesh 推出之前
需要为每个微服务手动配置通信和监控。
App Mesh 推出之后
App Mesh 可为所有微服务配置通信和监控。
博客文章
AWS App Mesh 简介
App Mesh 可帮助您更好地控制微服务间流量的流动方式,并帮助您识别应用程序中任何位置的问题。