1

我正在尝试将使用 MVC 模型和实体框架的现有 API 应用程序转换为 Azure 函数。这是为了利用 Azure 功能中的无服务器架构的可扩展性和成本模型。

当前的 API 应用程序不是很耗时 - 基本上它接受一些 JSON 格式的消息,将其转换为 C# 类,进行一些转换,然后使用实体框架保存到数据库中。请求可以在 10 秒内完成,因此我认为这符合 Azure Function 消费计划的时间限制。

让我担心的是应用程序中的代码量,因为它是一个分层架构,具有 DTO、模型和数据访问层(真正的分层架构)。Azure 功能是否适合托管这种具有分层架构的应用程序?

我觉得 Azure Function 应该是理想的一小部分逻辑。我想检查这种方法是否存在任何问题。我还读到,在函数中保留大量文件和依赖项会增加新实例的初始加载时间。

任何指导将不胜感激。此外,如果 Azure Function 不是此类复杂代码的正确方法,那么还有哪些替代方法 - 我是否应该继续将其作为 API 应用程序维护,并具有应用程序服务带来的当前可扩展性和定价限制?

我相信 Web 作业也会有类似的限制,因为 Azure Functions 和 MS 现在要求每个人都迁移到 Azure Functions。

4

2 回答 2

2

Azure Functions 可以处理完整的代码方案。我的建议是绝对使用 Visual Studio 工具支持和预编译。这还将为您提供 IDE 的全部优点,并促进单元测试和其他最佳实践。这是 Azure Functions 的 VS 工具的链接和教程以供进一步参考:https ://blogs.msdn.microsoft.com/webdev/2017/05/10/azure-function-tools-for-visual-studio-2017/

于 2018-02-13T20:33:45.963 回答
0

基本上我也做了同样的事情。我创建了实现调用输入参数处理的类库。然后我只引用类库并从 Azure 函数调用这些库。基本上我只是将任务的执行推迟到类库。这样做的好处有两个:

  • 将函数代码的复杂性降低到只是一个 try-except,实例化处理程序并使用函数参数调用处理程序
  • 能够在 Azure 环境之外进行(自动)测试
于 2018-06-07T11:09:48.563 回答