【问题标题】:Hosting both MVC frontend and WebAPI backend in same Cloud Service in Azure在 Azure 的同一云服务中托管 MVC 前端和 WebAPI 后端
【发布时间】:2016-03-20 19:26:51
【问题描述】:

我有一个 MVC 前端应用程序(相对较小),它有自己的 DAL 实现,使用存储库模式。我正在考虑在其自己的 WebAPI 项目中移动 DAL 以保持更清晰的分离。 MVC 应用程序使用云服务(Web 角色)托管在 Azure 中。 WebAPI 将仅由前端应用程序使用,目前不会暴露给任何其他外部应用程序,但即便如此,我仍然希望它作为单独的应用程序/网络/工作角色托管,而不是将 DAL 保留在同一个项目。

这样做会不会是个好主意:

1) 将 WebAPI 项目作为 Web/Worker 角色托管在同一云服务中,还是我应该创建一个新的网站/云服务来托管它?考虑到成本因素和 n/w 延迟问题,最好使用相同的云服务。

2) 如果我托管在同一个云服务中,对于 web api 项目使用什么更可取 - web 或 worker 角色?

3) 我在某处读到我应该使用 Azure 中的服务总线来实现 MVC 前端和 WebAPI 后端之间的交互。这是建议的方法还是有更简单的方法?

【问题讨论】:

  • 这在很大程度上取决于站点的目的,如果是您自己的私人博客收到一些请求,那么这与创建您想要的应用程序的答案完全不同规模以处理几百万个请求。 “您希望实现什么目标”通常是一个很好的起点。
  • 这是一个相对较小的基于产品的网站。在不久的将来不需要扩展,但应该仍然足够强大以处理几千个请求。

标签: azure asp.net-web-api2 azure-cloud-services


【解决方案1】:

我建议您使用相同的云服务。原因是复杂性和故障场景,当您将应用拆分为多个云服务时,当您从源代码控制更新它们时就会出现问题

您需要进行两次部署并确保它们同步等。

我会在一个云服务中保持服务运行时的简单性。

如果您真的想在代码级别将它们分开并且知道它们会正常工作,那么它再次是偏好和舒适。这两个云服务应该没问题。

从经验来看,像这样的重构决策在未来会增加很多工作量。正面或负面取决于您对问题的理解以及您脑海中无法放在纸上的更大图景:)。

很高兴为您提供帮助,真诚的 -CB

【讨论】:

    猜你喜欢
    • 2020-02-12
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 2016-06-23
    • 2020-01-08
    • 2022-12-08
    相关资源
    最近更新 更多