AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

SOA 和微服务之间的区别

  • 2017-07-26
  • 本文字数:930 字

    阅读完需:约 3 分钟

近几年,我们有很多文章 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 图表也很有趣。

查看英文原文 The Difference between SOA and Microservices?

2017-07-26 19:0018694
用户头像

发布了 322 篇内容, 共 151.5 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

Linux之touch命令

入门小站

Linux

在线JSON转Rust工具

入门小站

工具

走进Java接口测试之简单解决写接口脏数据问题

zuozewei

Java 自动化测试 测试开发 接口自动化 12月日更

使用JDK自带的工具jstack找出造成运行程序死锁的原因

汪子熙

Java 并发 死锁 28天写作 12月日更

来也科技UiBot 6.0社区版全线免费,RPA距离人人可用还有多远?

王吉伟频道

RPA 机器人流程自动化 来也科技 社区版

Kotlin ‘...has private access in...’ 问题小结

阿策小和尚

28天写作 Android 小菜鸟 12月日更

模块三作业

Geek_e6f7f6

架构实战营

用明道云,一小时复刻两个月自研的账款系统

明道云

如何在 Flutter 中使用MemoryImage【Flutter专题23】

坚果

flutter 28天写作 12月日更

五分钟就能学会,一辈子难以精通(18/28)

赵新龙

28天写作

吹水的6大坏习惯

搬砖的周狮傅

沟通艺术

Dubbo框架学习笔记五

风翱

dubbo 12月日更

抬头看天

xujiangniao

知识梳理

生活意义的缺失是当代都市人的必然窘境

mtfelix

28天写作 生活的意义

工业机器视觉系统相机如何选型?(理论篇—3)

不脱发的程序猿

机器视觉 图像处理 工业自动化

化“整”为“零”,明道云为企业信息化提速(一)

明道云

读《思辨与立场》-06思维的要素-01

wood

28天写作 批判性思维 思辨与立场

存量经营

张老蔫

Go语言原理分析-数组

王博

模块二作业

whoami

「架构实战营」

dart系列之:你的地盘你做主,使用Extension对类进行扩展

程序那些事

flutter dart 程序那些事 扩展 12月日更

面向WEB开发人员的Docker(八):将 Docker 镜像推送到仓库

devpoint

Docker 12月日更

父母的陪伴对孩子长大非常重要

Tiger

28天写作

给弟弟的信第16封|人为什么会抑郁

大菠萝

28天写作

第二周作业

lv

电商秒杀系统

胡颖

架构实战营

React进阶(八):state 属性讲解

No Silver Bullet

React 12月日更 props

实用机器学习笔记十七:模型评估

打工人!

机器学习 深度学习 算法 模型评估 12月日更

HTML制作3D樱花漫天飞舞及浪漫信封

海拥(haiyong.site)

大前端 代码中的浪漫 28天写作 12月日更

【LeetCode】被围绕的区域Java题解

Albert

算法 LeetCode 12月日更

mitmproxy与安卓模拟器搭配,助力Python爬虫工程师,然后就可以爬CSDN粉丝数据了

梦想橡皮擦

12月日更

SOA和微服务之间的区别_SOA_Mark Little_InfoQ精选文章