你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Cosmos DB 的无服务器应用

Azure Cosmos DB
Azure Functions

解决方案构想

本文是一种解决方案构想。 如果你希望我们在内容中扩充更多信息,例如潜在用例、备用服务、实现注意事项或定价指南,请通过提供 GitHub 反馈来告知我们。

可以使用 Azure Functions 和 Azure Cosmos DB 构建可缩放的全球分布式无服务器应用程序。

体系结构

Architecture diagram that shows the functions that are triggered by an online order and a database change feed.

下载此体系结构的 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
  • 库存管理

后续步骤

请参阅以下体系结构,其中包括 Functions 和 Azure Cosmos DB:

请参阅以下具有 Functions 的体系结构:

请参阅以下具有 Azure Cosmos DB 的体系结构: