AWS Cloud Map 是一项云资源发现服务。利用 Cloud Map,您可以为应用程序资源定义自定义名称,并且它可维护这些不断变化的资源的更新位置。这将提高应用程序的可用性,因为您的 Web 服务始终会发现其资源的最新位置。
现代应用程序通常由多项服务组成,这些服务可通过 API 进行访问并执行特定功能。每项服务都与各种其他资源(例如数据库、队列、对象存储和客户定义的微服务)进行交互,并且需要能够找到自己依赖的所有基础设施资源的位置,以便正常运作。在大多数情况下,您可以在应用程序代码中手动管理所有这些资源名称及其位置。但是,随着所依赖基础设施资源的数量增加,或微服务数量根据流量不断扩展和缩减,手动管理资源将会变得非常耗时,并且容易出错。您还可以使用通过第三方服务发现产品,但这需要安装和管理其他软件和基础设施。
Cloud Map 可让您使用自定义名称注册任意应用程序资源,如数据库、队列、微服务和其他云资源。然后,Cloud Map 会不断检查资源的运行状况,以确保发现最新位置。之后,应用程序可基于应用程序版本和部署环境,通过注册表来查询所需资源的位置。
优势
提高应用程序可用性
Cloud Map 可持续监控应用程序中每个基于 IP 的组件的运行状况,并在添加或删除每个微服务时不断更新其位置。这可以确保应用程序只发现其资源的最新位置,从而提高应用程序的可用性。
提高开发人员的工作效率
Cloud Map 可为所有应用程序服务提供一个注册表,您可以使用自定义名称来定义这些服务。这样一来,开发团队就不必持续存储、跟踪和更新资源名称及位置信息,或者直接在应用程序代码中进行更改。
工作原理
使用案例
服务发现
微服务通常使用动态资源(如容器)实施,可以快速启动和终止。这些资源通过 API 进行通信,需要在应用程序代码中指定其依赖资源的位置。但是,所有这些资源都是动态的,位置也在不断变化,这使得单个资源很难持续跟踪并找到其所有依赖项的位置。Cloud Map 可提供一个服务名称和位置的最新注册表,让微服务可以轻松找到彼此。
持续集成和交付
跨多个环境、区域和版本部署应用程序代码需要使用每项服务的位置来更新多个配置文件。Cloud Map 可维护服务名称和位置的最新注册表。您可以根据部署到的环境、区域或应用程序版本更新资源的位置,应用程序将自动发现正确的资源。
自动监控运行状况
应用程序通常是 AWS 服务和自定义资源的组合。但是,可靠地获取所有应用程序资源的最新运行状况非常困难。Cloud Map 可自动检查运行状况,只保留运行状况良好的资源的最新注册表,从而帮助您实现这一点。这可以确保流量始终只服务于运行状况良好的端点。
博客帖子和文章
Cloud Map 简介
AWS Cloud Map 可跟踪所有应用程序组件、它们的位置、属性和运行状况。现在,应用程序只需使用 AWS 开发工具包、API 甚至 DNS 即可查询 AWS Cloud Map,从而发现其依赖项的位置。
适用于无服务器应用程序的 AWS Cloud Map 服务发现
AWS Cloud Map 相当于将所有业务逻辑结合在一起的粘合剂,有助于实现微服务旅程。在 Peak.ai,我们非常频繁地使用无服务器框架,所以我们希望找到能够将 AWS Cloud Map 集成到无服务器框架流中的方法。