你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
微服务是一种常用的体系结构样式,用于构建可保持复原、高效缩放、独立部署和快速演变的云应用程序。 为了提供实际价值,微服务需要不同的设计和应用程序开发方法。
这组文章探讨如何在 Azure 上构建微服务体系结构。 其中包括以下指南:
微服务的计算选项:评估微服务的 Azure 计算服务,包括 Azure Kubernetes 服务(AKS)、Azure 容器应用和 Azure Functions。 了解何时根据可伸缩性、管理开销和部署模型的要求使用每个服务。
服务间通信:使用同步和异步方法设计微服务之间的有效通信模式。 了解用于可靠服务到服务通信的 REST API、消息传送模式、事件驱动的体系结构和服务网格技术。
API 设计:创建设计良好的 API,以支持微服务体系结构原则。 了解 API 版本控制策略、错误处理模式以及如何设计促进松散耦合和独立服务演变的 API。
API 网关:实现 API 网关来管理交叉问题,例如身份验证、速率限制和请求路由。 了解网关如何简化客户端交互,并在微服务生态系统中提供集中式策略强制实施。
数据注意事项:解决微服务体系结构中的数据管理难题,包括数据一致性模式、分布式事务和选择适当的数据存储。 了解跨服务边界维护数据完整性的策略。
容器业务流程:使用容器业务流程协调程序大规模部署和管理容器化微服务。 了解 Kubernetes 等平台如何自动部署、缩放、负载均衡和运行状况管理,以在生产环境中保持所需的系统状态。
设计模式:应用特定于微服务的成熟设计模式,包括用于卸载连接任务的大使模式、用于资源隔离的 Bulkhead 模式,以及用于增量应用程序重构的 Strangler Fig 模式。
先决条件
在阅读这些文章之前,请先阅读以下资源:
微服务体系结构简介:了解微服务的优势和挑战,以及何时使用此体系结构样式。
使用域分析对微服务建模:了解建模微服务的域驱动方法。
示例体系结构
下载此体系结构的 Visio 文件 。
Scenario
Fabrikam, Inc. 创建无人机交付服务。 该公司管理着一支无人机机队。 商家可以注册该服务,用户可以请求无人机收取要交付的商品。 当客户安排取件时,后端系统会分配无人机,并通知用户估计的交付时间。 在配送过程中,客户可以跟踪无人机的位置,包括不断更新的预计到达时间(ETA)。
此解决方案适用于航空航天和飞机行业。
此方案涉及一个相当复杂的域。 一些业务问题包括计划无人机、跟踪包、管理用户帐户以及存储和分析历史数据。 Fabrikam 还希望进入市场,然后快速迭代以添加新功能和功能。 应用程序需要以高服务级别目标(SLO)在云规模上运行。 Fabrikam 还要求系统的不同部分对数据存储和查询有不同的要求。 根据注意事项,Fabrikam 为无人机交付应用程序选择微服务体系结构。
注释
有关如何在微服务体系结构和其他体系结构样式之间进行选择的详细信息,请参阅 Azure 应用程序体系结构指南。
此体系结构将 Kubernetes 与 AKS 配合使用。 但是,许多高级体系结构决策和挑战适用于任何容器业务流程协调程序。