解决方案构想
本文介绍了一种解决方案构想。 云架构师可以通过本指南来帮助可视化此体系结构的典型实现的主要组件。 以本文为起点,设计一个符合工作负荷特定要求的架构合理的解决方案。
可以使用 Azure Functions 和 Azure Cosmos DB 构建可缩放的全球分布式无服务器应用程序。
体系结构
下载此体系结构的 Visio 文件。
数据流
客户在电子商务网站上下订单。
订单触发 Functions 实例。 该函数处理客户的结账,并将有关订单的信息存储在 Azure Cosmos DB 中。
数据库插入操作会触发 Azure Cosmos DB 更改源事件。
订阅更改源事件的系统会收到通知。
更改源通知触发 Functions:
- 函数将税应用于订单。
- 函数处理订单付款。
- 函数完成订单。
组件
- Functions 是事件驱动的无服务器计算平台。 借助 Functions,可使用触发器和绑定来大规模集成服务。
- Azure Cosmos DB 是一种全球分布式多模型数据库。 使用 Azure Cosmos DB,你的解决方案可以跨任意个数的地理区域弹性调整吞吐量和存储。
方案详细信息
微服务有许多好处:
- 它们提供高度可缩放的解决方案。
- 可以单独部署每个服务。
- 当将功能限制在单独的容器中时,故障隔离很简单。
- 它们非常适合 DevOps 环境。
- 它们通过加快软件开发生命周期来缩短上市时间。
实现微服务的有效方法是使用无服务器技术。 此解决方案使用 Functions,这是一种提供无服务器计算体验的 Azure 产品/服务。 该解决方案使用 Azure Cosmos DB 进行数据存储。 Azure Cosmos DB 提供与 Functions 集成的更改源。
可能的用例
此解决方案适用于许多领域:
- 电子商务
- Retail
- 库存管理
后续步骤
- Azure Functions 简介
- 欢迎使用 Azure Cosmos DB
- Azure Cosmos DB 中的更改源
- 创建由 Azure Cosmos DB 触发的函数
- 使用 Visual Studio Code 将 Azure Functions 连接到 Azure Cosmos DB
相关资源
请参阅以下体系结构,其中包括 Functions 和 Azure Cosmos DB:
- 使用 Azure Cosmos DB 的事务性发件箱模式
- 使用 Azure Cosmos DB 进行游戏开发
- 代码演练:使用 Functions 的无服务器应用程序
- 使用图像和自然语言处理通过准实时分析服务分析新闻源
请参阅以下具有 Functions 的体系结构:
- 将事件中心与 Azure 上的无服务器函数进行集成
- 监视 Azure Functions 和事件中心
- 多租户的 Azure 应用服务和 Azure Functions 注意事项
- 针对 Azure 事件中心和 Azure Functions 的性能和缩放指南
请参阅以下具有 Azure Cosmos DB 的体系结构: