计算机科学

首页 > 计算机科学

单体式应用程序

2018-09-09 12:48:48     所属分类:软件史

单体式应用程序英语:Monolithic application)是一种软件设计结构,这不一定要是一种“应用程序”,因为这种概念也能够应用在网络服务上。一个单体式应用程序里面有许多的逻辑、服务(如:使用者服务、文章服务、留言服务),并且都有密不可分的关系。一旦其中一个服务不可用时,就会造成另一个服务也无法使用,因此也常被拿来当作微服务结构的对比,因为微服务独立、自主,并不会有像单体式应用程序这样的问题。

在程式进行时,单体式应用程序通常会循序执行,异步执行的时机较少(不是绝对的)。像是部分应用程序中在安装画面时可能导致界面卡死,按下“取消”按钮毫无反应,就是因为以非异步执行所产生的缘故。

好处

单体式应用程序的结构规划十分简洁,因为服务与服务之间可以直接有所牵连,如:文章服务可以直接呼叫使用者服务。在这方面并没有太多的忌讳,所以开发时程在起步时也能够大幅减少。

坏处

由于单体式应用程序就像一个大型容器一样,里面摆置了许多服务,且他们都是密不可分的,这导致应用程序在扩展时必须以“应用程序”为单位。这意味着当里面有个服务特别吃重(负载过高)时,并不能够单独扩展该服务,必须扩展整个应用程序,这可能导致额外的资源浪费。此外,单体式应用程序由于服务之间的紧密度、相依性过高,这将导致测试、升级有所困难,且开发曲线有可能会在后期大幅度地上升,令开发不易。相较之下微服务结构能够解决这个问题。

延伸阅读

  • 微服务结构
  • 软件结构

上一篇:万圣节文件
下一篇:AppImage
相关推荐