微服务与多层架构

瓦尔曼

我的项目有一个后端服务(Web API)和一个前端SPA应用程序。后端服务的演示文稿,应用程序服务,域和基础结构层位于不同的.net程序集中。域层具有业务域对象,基础结构–与外部数据和其他内容的通信,应用程序服务–表示层,表示层– Web API控制器使用的服务集。我认为这是非常常见的分层体系结构。

我们的新架构师宣布,我们将把后端迁移到微服务架构,从而降低我们的层,将域,应用程序服务和基础架构层划分为几个服务,并将表示层转换为后端,成为前端层(如此所述)。在功能上,我们将拥有移动应用程序。Sql Server数据库现在将保持不变。

我没有微服务架构的经验,所以我的问题是:多层架构已经过时了吗?可以为我的应用程序带来这种体系结构设计有哪些好处和问题?

瓦西尔(Vasyl Zvarydchuk)

微服务和分层架构有些不同。微服务架构涉及应用程序的构建方式,拥有的组件(服务)以及这些服务如何相互通信,如何开发,部署等。

多层体系结构是关于将应用程序逻辑划分为多个层,其中每个层都有自己的逻辑功能(表示,域等)。多层体系结构通常与整体体系结构和服务设计有关。

根据您的描述,您不会破坏层级,架构师希望将逻辑拆分为不同的服务。这两种体系结构样式可以一起使用。例如,您可以拥有3个服务,每个服务可以具有表示层,域和服务层。如果您当前在一项服务中的层次足够繁重,则有必要将其拆分开来,从而使开发和测试更加容易。前端样式的后端也有其好处,特别是如果您要添加移动应用程序。

对这个

多层架构已经过时了吗?

不,它们都可以使用,但是通常与微服务一起使用时,层应该比单片应用程序中的要薄得多。

可以为我的应用程序带来这种体系结构设计有哪些好处和问题?

我建议你看一下微服务和整体架构的对比风格和这个职位要进行划分,您应该考虑项目的规模和复杂性以及团队的规模。划分必须给整个应用程序带来好处,从而使开发更加容易。Monolithic应用程序有其自身的优势,并且在项目规模不大的情况下,这可能是一个不错的决定。当然,使用庞大的单片应用程序以及使用一百种非常小的(纳米)服务,都是一场噩梦。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章