我有一个MVC前端应用程序(相对较小),它有自己的DAL实现,使用存储库模式。我正在考虑将DAL移动到它自己的WebAPI项目中,以保持更干净的分离。MVC应用程序使用云服务(web角色)托管在Azure中。WebAPI将仅由前端应用程序使用,目前不会向任何其他外部应用程序公开,但即使到那时,我仍希望将其作为单独的应用程序/web/工作者角色托管,而不是将DAL保留在同一项目中。
这是不是一个好主意:
1)在同一云服务中作为网络/工作者角色托管WebAPI项目,还是应该创建一个新的网站/云服务来托管它?考虑到成本因素和n/w延迟问题,最好使用相同的云服务。
2)如果我在相同的云服务中托管,那么web api项目使用哪种角色更可取- web角色还是worker角色?
3)在某个地方,我读到我应该使用Azure中的服务总线来实现MVC前端和WebAPI后端之间的交互。这是建议的方法,还是有更简单的方法来完成它?
发布于 2015-12-16 10:02:39
我建议您使用相同的云服务。原因是复杂性和故障场景,当您将应用程序拆分为多个云服务时,当您从源代码控制更新它们的服务时,问题就出现了
您将需要进行两次部署,并确保它们是同步的,等等。
我会在一个云服务中保持服务运行时的简单性。
同样,如果你真的想在代码级将它们分开,并且知道它们会工作得很好,那么它是首选和舒适的。这两个云服务应该没问题。
根据经验,像这样的重构决策在未来会增加很多工作。积极或消极取决于你对问题的理解,以及你脑海中无法写在纸上的更大图景的图像:)。
很高兴为您提供帮助,您真正的-CB
https://stackoverflow.com/questions/34281883
复制相似问题