首页 > 解决方案 > 系统架构:带有微服务的 MVC 应用程序

问题描述

我们正在尝试设计我们的新系统架构,它将成为一个具有多种服务的前端应用程序。显而易见的方法是遵循微服务架构。

但是,我们不希望选择前端 javascript 框架,主要原因有两个:

所以我们提出了如下架构(微服务架构减去前端框架)

建筑学

例如:当用户提交表单时。后端控制器将请求 REST 服务,然后返回具有适当模型的视图

现在的问题是:这种架构是否值得单片应用程序?当其中一项服务过载时,是否有助于减少主应用程序的过载?

标签: laravelmodel-view-controllerarchitecturemicroservices

解决方案


除非绝对必要,否则不要过度设计您的系统并选择单体。在以下情况下确实需要微服务:

  • 有多个有界上下文,每个有一个或多个聚合根
  • 写/读模式完全不同,可能需要不同的持久化存储机制

但即使在这些情况下,也绝对有可能设计一个好的单体并在之后对其进行重构。

我的建议是对领域有一个很好的理解,写一个 MVP,然后重构。


推荐阅读