1、单体架构
优点:开发、调试、部署、横向扩展比较简单。
缺点:(1)维护困难,开发人员很难整体理解整个系统
(2)容错性差,因为整个系统是一个进程,如果系统报错,整个系统容易宕机
(3)资源不能进行合理利用,一个系统中不同的功能被被调用的频率不同,如果是单体应用的话,需要将整个应用水平扩展,造成了资源的浪费。
(4)不利于技术的扩展,传统的单体架构如果要更新某个技术,就需要重新开发整个系统
(5)难以扩展,不能按需扩展,而要扩展整个系统。代码库比较复杂,进行修改维护容易影响到别的功能
2.SOA架构
优点:(1)能够提高开发效率,可以将整个系统分为几个不同的子系统,不同团队负责不同的系统,从而提高开发效率。
(2)解耦,降低了系统之间的耦合
(3)易于扩展,业务逻辑改变时只需要修改单个服务,减少了对使用者的影响
缺点:抽取的粒度比较大。耦合度较高
3.微服务架构
什么是微服务?
微服务是通过将系统根据功能划分为细粒度的服务,每一个服务都是一个独立的应用,根据这种思想创建的软件服务实体就是微服务。
优点:(1)解耦,根据功能将系统分为不同的独立运行的服务,将原来的复杂的系统简单化,每个服务交付给不同的团队去负责,提高了开发效率。开发人员可以只关注自己的业务功能
(2)容错性高,将错误隔离在单个服务内。
(3)技术选型灵活,不同的服务可以根据自己的需求选择不同的技术。
(4)易于扩展,可以按需扩展服务,避免资源的浪费
(5)独立部署,每个服务独立部署,当其中一个服务有需求变更时,可以只编译部署单个应用,减少了对用户的影响
缺点:(1)开发人员需要面对分布式系统的复杂性。测试更加困难,需要保证服务之间的通信;需要团队之间的协调;当用例涉及到多个服务的时候,需要实现分布式事务管理。
(2)部署比较复杂
(3)增加内存开销,微服务系统用多个服务实例取代了传统垂直架构的单个服务实例。有多少服务实例,就会有多少在内存运行的开销。
4.微服务架构和SOA的区别

什么时候适合用微服务?
(1)并发量比较大的、用户比较多的
(2)将来预计扩展比较大的
(3)业务逻辑比较复杂的

单体架构、SOA架构、微服务架构的优点缺点以及区别联系相关推荐

  1. SOA和微服务架构的区别?

    知乎用户 289 人赞同了该回答 谢多人邀请,其实前面几位的回答已经差不多了,在这里仅谈下自己的简单总结. 微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多 ...

  2. SOA和微服务架构的区别

    SOA和微服务架构的区别? 1 条评论 分享 默认排序按时间排序 10 个回答 203赞同 反对,不会显示你的姓名 知乎用户 大型电信行业SOA实施经验,SOA规划咨询,- 203 人赞同 谢多人邀请 ...

  3. 万字长文解析:分布式架构、SOA、微服务架构、API网关、ESB服务总线架构之间的关联及演进

    1架构演进 架构十五年:改变的是形态,不变的是目的 业务驱动架构形态变化 过去十几年,随着互联网发展以及业务的多样化,系统的架构也在不断发生变化,总体上来说大体经历了从单体应用架构-垂直应用架构-分布 ...

  4. 【服务化架构】SOA和微服务架构、灵活架构

    文章目录 一.SOA ESB 二.微服务 微服务和Docker 三.关于 SOA和微服务关系 的几种观点 四.QA 关于ESB的单点故障 关于微服务的去中心化 和 API网关 五.灵活架构 导读 SO ...

  5. “逃离”单体,GitHub的微服务架构实践

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 本文介绍 Git ...

  6. 面向服务架构(SOA)与微服务架构

    面向服务架构 面向服务架构的思想在整个软件的架构中已经不是什么新鲜的东西.我简单地认为服务化是模块化的延伸,所以服务化有着和模块化类似的优点和缺点.无论你采用哪种协议定义服务与服务之间的通信方式(如W ...

  7. Java架构师-微服务:微服务架构【单体部署 --改造--> 微服务架构】【分布式:分散压力;微服务:分散能力】【RESTFul+Docker+K8S、SpringCloud】

    一.微服务概述 微服务架构是团队面对互联网产品爆发式增长的最优选择,要解决的是快速迭代.高可靠和高可用等问题,把复杂度很高的产品拆分成一些较小的模块,并遵循康威定律,每一个模块用5-9个小团队来维护, ...

  8. 微服务架构以及SOA和微服务架构的区别

    微服务架构模式(Microservice Architect Pattern).近两年在服务的疯狂增长与云计算技术的进步,让微服务架构受到重点关注 微服务架构是一种架构模式,它提倡将单一应用程序划分成 ...

  9. 理解 SOA和微服务架构

    网上有个小段子,专门比较SOA和微服务架构区别的,相比其他抽象的解释,更让人容易理解.我把其他人的一些解释合并一下罗列如下: A:菜菜哥,我最近需要做一个项目,老大让我用微服务的方式来做 B:那挺好呀 ...

  10. python微服务架构设计模式_微服务架构设计模式 PDF 电子书 百度云 网盘下载

    你还没有注册,无法下载本站所有资源,请立即注册! 您需要 登录 才可以下载或查看,没有帐号?立即注册 x java自学网(http://www.137zw.com)-java论坛,java电子书推荐: ...

最新文章

  1. 中小企业 软交换机 呼叫中心 需要的请留言
  2. 朋友圈玩分身术!逼死用户的节奏?
  3. for-each 循环原理
  4. 计算机网络知识简单介绍
  5. Hive记录-Hive on Spark环境部署
  6. java slot_聊聊sentinel的DegradeSlot
  7. html5学习之canvas模块的简单使用,作画三角形、圆形、矩形等
  8. linux清指令,Linux隐匿和清除的几条命令
  9. ajax简单做html查询删除(鲜花)
  10. matlab求动力学模型,MATLAB/Simulink动力学系统建模与仿真
  11. idea导入java文件_怎么在idea中导入Java文件并运行文件
  12. 毕业设计html5作品,基于HTML5的年货购物网站的设计与实现毕业论文+任务书+开题报告+设计源码...
  13. 生理学知识点总结--biologic
  14. 媒体连接(2)...
  15. 计算机图形学【GAMES-101】10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质)
  16. 《千字文细谈》2021神级程序员都在用什么工具?-09-02
  17. S7-1200PLC程序PN总线三路V90伺服轴控制实际应用项目
  18. 【双拼打字】双拼对照表
  19. 《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》翻译
  20. 英语学习笔记(一)语法

热门文章

  1. 题解 P4480 【[BJWC2018]餐巾计划问题】
  2. 优达笔记-安然数据分析 异常值处理
  3. Linux禁用scp和sftp
  4. 赞美是朵花,赠人玫瑰,手有余香
  5. [转] 全套汽车标志,好不容易找到的哦!
  6. 使用Python发送邮件(图片、表格、附件) 系列三: 发送工作报表之透视表自动刷新数据
  7. Jenkins+gitlab配置身份验证令牌
  8. 推荐新唐工业级ARM9(NUC972DF62Y),集成64M DDR2,多至11个串口
  9. WinDbg 符号下载错误解决方案
  10. RFID 有源,半源和无源的区别