2

背景 完成了 Azure 应用服务中的 API 应用和 ASP.NET 入门教程 ( https://azure.microsoft.com/en-gb/documentation/articles/app-service-api-dotnet-get-started/ ),我们今天提出了一个架构问题,围绕将待办事项列表应用程序 API 层拆分为中间层 API 应用程序和数据层 API 应用程序的设计决策。

ToDoList应用程序架构

在使用分布式架构构建应用程序时,应注意哪些事项以了解何时应在 API 层中发生这种类型的分离?

问这个问题的另一种方式是在构建应用程序时拥有单独的中间层 API 层和数据层 API 应用程序的优缺点是什么?

其他问题 我读过Web 应用程序架构:1 或 n API 问题(请参阅下面的链接),虽然很有见地,但与我们提出的问题略有不同。我们说的是一个单一的域,它具有用于中间层(逻辑)和数据层的单独 API 层。

Web 应用架构:1 或 n API

4

2 回答 2

1

这当然取决于。决定是否构建我所说的“基础设施服务”在很大程度上取决于您的需求和您的应用程序。

基础设施层服务通常比业务逻辑层服务获得更多的重用。它们很容易重新组合成新的应用程序。最常见的实例是将管理界面构建为单独的应用程序。

如果您已经在您的组织中构建了多个应用程序,并且发现重用经常发生,那么我会认真考虑基础设施服务。如果您的组织正在编写它的第一个应用程序,并且您没有看到它扩展到其他接口,那么也许只是将您的数据访问隔离在 DAO 模式中,稍后将其重构为独立服务相当简单。

于 2016-05-20T12:16:54.677 回答
0

我认为示例设计有些混乱。在现实世界中,我还没有见过这样的设计,因为设计看起来每个函数都是 http/rpc 调用?

我的经验是 SPA 使用公共 API(或网关 API),然后调用您的内部 API/微服务来汇总结果。您的微服务可能有 DAO,最重要的是,业务逻辑

于 2016-11-27T23:25:09.237 回答