首页 > 解决方案 > 拥有单个 API 项目而不是多个 API 项目

问题描述

在应用程序中,我正致力于在一个 Visual Studio 解决方案中以及在每个 API 项目中拥有几个 Api 控制器的 ASP.Net 核心 api 项目。让我们假设像 Order.Api、Customer.Api 和 Product.Api 这样的。考虑保留一个 API 项目而不是几个单独的项目,我们将其称为 Backend.Api 并将所有控制器移动到这个单个项目中。它的缺点也是它的优点是什么?

标签: asp.netasp.net-mvcasp.net-web-api

解决方案


最好了解您有多个 api 项目开始回答问题的原因。您可以阅读有关微服务与单体设计之间权衡的更多见解。这是来自 Martin Fowlers 博客https://martinfowler.com/articles/microservice-trade-offs.html的文章

这就是说以下可能会给你一个高层次的答案。

缺点

  • 合并 api 将带走功能的独立可测试性、可部署性和可扩展性的能力。

  • 合并 api 可能会导致源代码组织的可读性降低。

  • 降低故障隔离级别。

优点

  • 应用程序的部署和监控将变得更加简单。
  • 易于调试
  • 客户、订单、产品业务能力之间的沟通会更容易。

推荐阅读