微服务架构和单体架构的区别是什么?

开课吧开课吧锤锤2021-08-16 15:54

通常而言,微服务架构是一种架构模式或者说是一种架构风格。  

微服务架构和单体架构的区别是什么?

单体架构  

通俗地讲,“单体应用(monolithapplication)”就是将应用程序的所有功能都打包成一个独立的单元,可以是JAR、EXE、BIN或其它归档格式。  

微服务架构和单体架构的区别是什么?

单体应用有如下优点:  

开发简单直接,集中式管理,基本不会重复开发  

功能都在本地,没有分布式的管理开销和调用开销  

它的缺点也非常明显,特别对于互联网公司来说:  

开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断  

代码维护难:代码功能耦合在一起,新人不知道何从下手  

部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长  

稳定性不高:一个微不足道的小问题,可以导致整个应用挂掉  

扩展性不够:无法满足高并发情况下的业务需求  

微服务架构  

随着业务需求的快速发展变化,敏捷性、灵活性和可扩展性需求不断增长,迫切需要一种更加快速高效的软件交付方式。微服务就是一种可以满足这种需求的软件架构风格。单体应用被分解成多个更小的服务,每个服务有自己的归档文件,单独部署,然后共同组成一个应用程序。这里的“微”不是针对代码行数而言,而是说服务的范围限定到单个功能。  

微服务架构和单体架构的区别是什么?

微服务有如下优点:  

微服务是松藕合的,无论是在开发阶段或部署阶段都是独立的。  

能够快速响应,局部修改容易,一个服务出现问题不会影响整个应用。  

易于和第三方应用系统集成,支持使用不同的语言开发,允许你利用融合最新技术。  

每个微服务都很小,足够内聚,足够小,代码容易理解。团队能够更关注自己的工作成果,聚焦指定的业务功能或业务需求。  

开发简单、开发效率提高,一个服务可能就是专一的只干一件事,能够被小团队单独开发,这个小团队可以是2到5人的开发人员组成。  

同样的,也存在如下缺点:  

微服务架构带来过多的运维操作,可能需要团队具备一定的DevOps技巧。  

分布式系统可能复杂难以管理。因为分布部署跟踪问题难。当服务数量增加,管理复杂性增加。  

点击图片免费领取课程!

微服务架构和单体架构的区别是什么?

以上就是开课吧广场小编为大家整理发布的“微服务架构和单体架构的区别是什么?”一文,更多Java教程相关内容尽在开课吧广场Java教程频道!

https://topic.kaikeba.com/zhuanti/javajixun/

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
高并发编程训练营