近几年,我们有很多文章对SOA和微服务之间的不同点和相似点进行了分析。有些人认为SOA有很多地方是值得微服务学习的,而有些人则认为区别对待微服务和SOA会更好。而Neal Ford认为,将单体迁移到面向服务的架构要比迁移到微服务来得容易。关于选择SOA还是微服务的话题,最近并没有太多的争论,直到Redmonk的Stephen O'Grady发表了他的文章,这个话题再次进入了人们的视野。O'Grady在他的文章里说到,服务的大小不应该成为关键的决定性因素。这些年来,人们也一直在争论这个观点,比如Dan North。而Jeppe Cramon也说过:

单纯使用服务大小来定义微服务有失偏颇,也难以确定一个微服务是否被赋予了正确的职责……

O'Grady相信,SOA和微服务之间有着千丝万缕的联系:

在过去,SOA存在的一些缺陷导致它变成企业的幻象,就像今天那些使用了微服务云原生架构的激进型组织一样。如果我们深入到SOA的核心,我们会发现,SOA的本意是说架构应该由服务组成,而不是单体。

O'Grady在他的文章里通过Google Trends生成了一些图表,其中第一张图表显示了SOA在整个行业历史上曾经有一小段时期处于流行的高峰状态。

Stephen认为,通过服务大小来区分SOA和微服务将有碍找出导致SOA没落与微服务崛起的真正原因,SOA是由厂商驱动的,而微服务更多的是由开发者来驱动。

因为AWS的大肆成功,我们无法否认基于服务驱动的平台确实是构建可伸缩平台的一种有效方式,也无法否认它们在现今所取得的主导地位。但值得注意的是,现今基于服务的平台一般是由开发者来驱动的。而SOA最初由大型的厂商来驱动,基于拜占庭式的复杂(一般带有政治性质)的标准框架来构建服务,而这些标准并不为开发者所接受。

O'Grady在文章中提到,微服务在好的方面和不好的方面都借鉴了SOA。

微服务比单体更容易开发,而且没有了SOA的厂商标准累赘。

在过去几年,还有其他的一些人也表达了类似的观点,Asanka说:

如今,企业正在转向更干净的SOA,开始拥抱MSA。或许最大的看点是组件化,以及微服务提供的单一功能能够被快速地部署成组件,在必要的时候可以很容易地进行伸缩。不管怎样,这是一种很新奇的概念。

其中的第二张Google Trends图表也很有趣。

原文地址:http://www.infoq.com/cn/news/2017/07/soaandmicroservices


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

SOA和微服务之间的区别相关推荐

  1. 阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别

    内容大纲: 1.介绍Restful.SOAP.RPC.SOA以及微服务 2.重点谈谈SOA与微服务的区别 3.以及为什么要使用微服务架构 什么是Restful Restful是一种架构设计风格,提供了 ...

  2. Restful、SOAP、RPC、SOA、微服务之间的区别

    一.介绍Restful.SOAP.RPC.SOA以及微服务 1.1.什么是Restful? Restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的应用程序或 ...

  3. SOA和微服务之间的区别(应用和数据的垂直拆分水平拆分)

    目录 引出问题 重要概念 垂直拆分 水平拆分 同步分层架构 异步分层架构 SOA是什么? 微服务是什么? 数据库拆分 写在最后 引出问题 互联网发展迅猛,互联网系统也由原来的单机服务逐步的演化为分布式 ...

  4. 单体、集群、分布式、SOA、微服务之间的联系与区别

    单体.分层架构.集群.分布式.SOA.微服务之间有什么联系和区别? 1.概念提出时间 单体 : 60.70年代 分层 : 20世纪80年代 集群: 1990年 分布式:1994年 SOA: 1996年 ...

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

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

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

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

  7. 系统架构演变:SOA、微服务架构的区别和联系

    1.系统架构演变 随着互联网的发展,网站应用的规模不断扩大.需求的激增,带来的是技术上的压力.系统架构也因此也不断的演进.升级.迭代.从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服 ...

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

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

  9. SOA与微服务的区别

    1.SOA 全称:Service Oriented Architecture(面向服务架构)是一种架构设计模式,主要是以服务总线的形式对外提供服务, 可以将它理解为一个架构模型或者一种设计方法,而并不 ...

最新文章

  1. 为什么 Java 后端开发没有大规模采用 Kotlin?
  2. GitHub也会断供:美国制裁地区帐号都受限,毫无预警,个人页面直接404
  3. 2022.3.27彩叶草
  4. BZOJ 4732 UOJ #268 [清华集训2016]数据交互 (树链剖分、线段树)
  5. 关于现代软件工程学习
  6. 用python计算两个二维list依据第二维的前一个数据相加
  7. 调试九法:软硬件错误的排查之道书评
  8. 红橙Darren视频笔记 筛选View 属性动画 Adapter模式 组合动画AnimatorSet 观察者模式(对比Android ListView) 练习
  9. js 对象数组和对象的使用
  10. python常见函数抽样_Python中从列表中随机抽样函数的语法
  11. catagory,action,data隐式启动匹配规则
  12. 【信息系统项目管理师】第八章 质量管理思维导图
  13. 百度AI——人脸识别案例
  14. 数模--2022华中杯A题(Java实现)
  15. 【POJ】2676-Sudoku 【51Nod】1211-数独(DFS)
  16. 华图教育_南京_前端实习面试
  17. Android文字广告(Textview上下滚动),使用TextSwitcher控件的完整实现
  18. 万智牌天使恩典oracle,万智牌幻灭时刻限制赛单卡再评价(上)
  19. 东北大学OJ题解—1741: C语言编程测试2020-6-11-焦明海
  20. 区块链拓宽实验艺术边界 新技术如何重塑现代美学想象?

热门文章

  1. Bitcoin比特币与BlockChain区块链技术
  2. svn 自动同步到web站点目录post-commit.bat
  3. APP-V5.0的Sequencer过程
  4. .NET 产品版权保护方案 (.NET源码加密保护)
  5. 每扇区2048字节的U盘乱码的数据恢复
  6. 我用段子讲.NET之依赖注入(一)
  7. 使用 docker 部署 mdnice
  8. 如何利用NLog输出结构化日志,并在Kibana优雅分析日志?
  9. 使用 Azure Function 定时启动云 VM
  10. NETCore Bootstrap Admin 通用后台管理权限 [1]: 前后台分离系统简介