【问题标题】:azure function complexity level guidanceazure 函数复杂度级别指导
【发布时间】:2018-02-13 19:33:30
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: entity-framework model-view-controller azure-functions dto code-complexity


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。实际上,我已经通过此链接和其他有关此主题的链接。我看到的主要是示例包括显示一个简单的运行方法。您是否知道可能在 GitHub 上为更完整的应用程序场景提供的任何实现示例?再次感谢您花时间在这方面提供帮助。
    • 非常感谢。这真的很有帮助!
    【解决方案2】:

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

    • 将 Function 代码的复杂性降低到仅是 try-except、实例化处理程序并使用 Function 参数调用处理程序
    • 能够在 Azure 环境之外进行(自动)测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-04
      • 2017-05-27
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多