Azure Functions 解决方案设计

已完成

Azure Functions 是一个无服务器应用程序平台。 如果要在云中运行一小段代码,无需担心基础结构,则使用函数。

有关 Azure Functions 的注意事项

让我们回顾一下 Azure Functions 的一些优点和方案,使它成为生成新工作负载的绝佳计算解决方案。

用于选择 Azure Functions 解决方案以生成新工作负载的流程图。

  • Azure Functions 提供内部可伸缩性。 你仅需为所使用的资源付费。

  • 使用 Azure Functions,可以使用所选语言编写函数代码。

  • Azure Functions 通过两种重要方式支持 按需计算

    • Azure Functions 允许你将系统的逻辑实现到现成的代码块中。 只要需要响应关键事件,这些代码块(函数)就可以运行。

    • 随着请求的增加,Azure Functions 会根据需要提供尽可能多的资源和函数实例来满足需求。 请求完成后,任何额外的资源和应用程序实例都会自动关闭。

  • Azure Functions 是处理事件触发的特定可定义作的理想解决方案。 函数可以处理 API 调用,并将处理的数据存储在 Azure Cosmos DB 中。 数据传输发生后,另一个函数可以触发通知。

    显示 Azure Functions 如何响应 API 调用并将数据输出到 Azure 通知中心的关系图。

使用 Azure Functions 时要考虑的事项

让我们看看使用 Azure Functions 的一些最佳做法。 在考虑这些建议时,请考虑在 Tailwind Traders 基础结构中使用 Azure Functions 的优势。

  • 考虑持续运行时间较长的函数。 避免可能引发意外超时问题的长时间运行的大型函数。 尽可能将大型函数重构为较小的函数集,以便协同工作并更快地返回响应。 对于消耗计划函数,默认超时为 300 秒,对于任何其他计划,为 30 分钟。

  • 考虑持久函数。 使用持久函数和较小的函数集解决配置中的超时问题。 持久函数 允许你编写有状态函数。 在后台,该函数管理应用程序状态、检查点和重启。 持久函数的示例应用程序模式是 函数链。 函数链接按特定顺序执行函数序列。 一个函数的输出应用于另一个函数的输入。

  • 请考虑性能和扩展。 规划如何将具有不同负载特征的函数分组。 假设有两个函数。 一个函数处理成千上万条排队的消息,内存需求较低。 另一个函数仅偶尔调用,但内存需求较高。 在此方案中,你可能想要部署单独的函数应用程序,其中每个函数都有自己的一组资源。 独立的资源意味着可以独立调整功能。

  • 考虑防御功能。 设计函数时要考虑异常情况。 下游服务、网络中断或内存限制可能会导致函数失败。 编写函数,以便在发生故障时继续运行。

  • 请考虑不共享存储帐户。 为每个函数应用程序使用单独的存储帐户来最大程度地提高性能。 创建函数应用时,将其与唯一存储帐户相关联。 如果函数生成大量存储事务,则使用唯一存储帐户非常重要。

业务应用程序

花几分钟时间阅读其他 Azure Functions 最佳做法

小窍门

“探索 Azure Functions ”模块中了解有关 Azure Functions 的详细信息。