你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
示例应用简介
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于:✅ 基本计划/标准计划 ✅ 企业计划
本快速入门将使用常见的示例应用 PetClinic,演示如何将应用部署到 Azure Spring Apps 服务。 Pet Clinic 示例演示了微服务体系结构模式并强调了服务明细。 你将了解如何使用 Azure Spring Apps 功能(例如服务发现、配置服务器、日志、指标、分布式跟踪和开发人员友好的工具支持)将服务部署到 Azure。
若要遵循 Azure Spring Apps 部署示例,只需使用根据需要提供的源代码位置。
下图显示了 PetClinic 应用程序的体系结构。
注意
当应用程序托管在 Azure Spring Apps 企业计划中时,适用于 VMware Tanzu 的托管应用程序配置服务会承担 Spring Cloud Config Server 的角色,托管 VMware Tanzu 服务注册表则承担 Eureka 服务发现的角色,而无需对应用程序进行任何代码更改。 有关详细信息,请参阅本文后半部分的 Azure Spring Apps 托管的基础结构服务。
要部署的功能服务
PetClinic 可分解为 4 个核心 Spring 应用。 所有微服务都是由业务域组织的可独立部署的应用程序。
- 客户服务:包含普通用户输入逻辑和验证,其中包括宠物和主人信息(姓名、地址、城市、电话)。
- 访问服务:存储并显示每条宠物评论的访问信息。
- 兽医服务:存储并显示兽医的信息,包括姓名和专业领域。
- API 网关:API 网关是系统中的单个入口点,用于处理请求并将请求路由到相应的服务,或调用多个服务来聚合结果。 这三个核心服务向客户端公开外部 API。 在实际系统中,函数的数量可能会随系统的复杂性迅速增长。 呈现一个复杂的网页可能会涉及数百个服务。
由 Azure Spring Apps 托管的基础结构服务
分布式系统中有几种支持核心服务的常用模式。 Azure Spring Apps 提供的工具可增强 Spring Boot 应用程序以实现以下模式:
- 配置服务:Azure Spring Apps Config 是一种面向分布式系统的可水平缩放的集中式配置服务。 它使用当前支持本地存储、Git 和 Subversion 的可插入存储库。
- 服务发现:支持自动检测服务实例的网络位置,由于自动缩放、失败和升级,可能会有动态分配的地址。
数据库配置
在其默认配置中,PetClinic 使用在启动时用数据填充的内存数据库 (HSQLDB)。 如果需要持久性数据库配置,则为 MySQL 提供类似的设置。 Connector/J 的依赖项(MySQL JDBC 驱动程序)已经包含在 pom.xml 文件中。
PetClinic 的示例用法
有关完整实现的详细信息,请参阅 PetClinic 的分支。 示例根据需要引用源代码。