写点什么

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:0018946
用户头像

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

关注

评论

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

区块链交易所系统开发,合约交易模式软件方案

突破某度云盘下载限速,提速30倍!想学?我教你啊

Silently9527

百度云 HTTP

Win10环境前后端分离项目基于Vue.js+Django+Python3实现微信(wechat)扫码支付流程(2021年最新攻略)

刘悦的技术博客

django Vue 微信支付 python3 请求数据 扫码

文件写入的6种方法,这种方法性能最好

王磊

Java io 文件读写 文件操作 文件写入

FGC青蛙钱包系统开发|FGC青蛙钱包软件APP开发

系统开发

量化交易模式系统开发app案例

全球第一个 Serverless Redis 服务:Lambda Store 免费用

donghui

redis Serverless Lambda Store

和 lvgo 一起学习设计模式.PDF

米凤君

Java 设计模式 23种设计模式

菜鸟实时数仓2.0进阶之路

Apache Flink

flink 流计算

IDC发布2021年中国云计算10大预测;Docker 桌面为 M1 推出技术预览版

京东科技开发者

云计算 AI 程序人生

天源迪科获2020年度中国产业供应链(中央企业集采供应链)百强企业荣誉

DT极客

Flutter动态创建UI实现方案

FisherJoe

Linux安装MySQL标准教程

Simon

MySQL centos 安装 七日更

数字货币量化交易所系统开发案例

数字货币交易所币币OTC交易系统开发

智慧公安防控管理,重点人员管控系统建设方案

t13823115967

智慧公安 情报研判系统建设

RPC 核心,万变不离其宗

yes

Java 微服务 后端 RPC

Java并发编程:AQS的互斥锁与共享锁

李尚智

Java Java并发

十日谈:我的 2020

escray

2020 七日更 十日谈

架构的业务属性

soolaugust

架构 设计 架构师 七日更

第十三周 作业

熊桂平

极客大学架构师训练营

什么是定点数?

Kaito

计算机基础

智慧平安小区搭建,智慧社区综合服务平台开发

t13823115967

智慧城市 智慧社区管理平台开发

vivo 商城架构升级-SSR 实战篇

vivo互联网技术

大前端 服务端 Node SSR

数字货币持币生息钱包系统开发案例

区块链钱包软件系统开发及费用

第十三周 学习总结

熊桂平

极客大学架构师训练营

2020年,关于【区块链运营】工作的11条思考

猫Buboo

比特币 区块链+

阿里不允许使用 Executors 创建线程池!那怎么使用,怎么监控?

小傅哥

Java JVMTI 线程池 七日更 Executors

数字资产交易所系统开发交易平台APP

盘点2020 | 云上建站流程全解,教你如何节约成本

老魚

云服务器 建站 盘点2020 web全栈

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