写点什么

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

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

关注

评论

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

RabbitMQ详解——RabbitMQ架构部署(四)

AiDaddy

RabbitMQ Mirror Queue Federation

托管页前端异常监控与治理实战

百度Geek说

大前端

Vue进阶(幺陆肆):自定义指令之拖拽指令

No Silver Bullet

Vue 11月日更

百度鸿鹄芯片落地首款量产车吉利博越X 智能车机体验惊艳成都车展

百度开发者中心

百度 车联网 鸿鹄芯片

《黑客之道》kali Linux之NMAP高级使用技巧和漏洞扫描发现

学神来啦

Linux 渗透 kali nmap

“智慧粮仓”守卫中国饭碗

ThingJS数字孪生引擎

大前端 物联网 可视化

四种 AI 技术方案,教你拥有自己的 Avatar 形象

阿里云CloudImagine

人工智能 阿里云 计算机视觉 视频云 元宇宙

华为云天筹AI求解器:智能世界是道迷人的数学题

脑极体

【等保小知识】等保与分保的三大区别汇总分析

行云管家

网络安全 数据安全 等保 分保

2022第十五届北京国际智慧城市、物联网、大数据博览会

InfoQ_caf7dbb9aa8a

《个保法》施行 | App 隐私合规检测双十一尝鲜仅需99元

蚂蚁集团移动开发平台 mPaaS

隐私保护 移动开发 监管合规

网课录屏用什么软件好?Camtasia极简操作,课程重点一目了然

淋雨

Camtaisa

学长带路学吉他,这几招足够了

懒得勤快

架构实战营模块七作业

Geek_d18264

架构实战营

数据库审计是什么意思?作用是什么?

行云管家

数据库 安全 IT运维 数据库审计

初入云计算行业,可以考取哪些云计算证书?

行云管家

云计算 腾讯云 阿里云 证书 IT运维

华为云·核心伙伴开发者训练营——产业云专场在东莞松山湖圆满落幕

华为云开发者联盟

华为云 鲁班会

看企业如何玩转低代码,引发效率革命

行云创新

云原生 低代码 开发 直播 双十一

iOS开发-百度一面总结

iOSer

ios 面试 iOS面试 ios开发 百度面试

GitHub点击量破百万访问,不愧是被称阿里神作的JDK源码笔记

Sakura

Java 源码 架构 jdk 面试

恒源云(GPUSHARE)_CAN: 借助数据分布提升分类性能

恒源云

深度学习

顶会VLDB‘22论文解读:CAE-ENSEMBLE算法

华为云开发者联盟

算法 时间序列 华为云数据库 深度神经网络

能让你从P6+学到P9也只有马士兵老师了,全套学习资源分享

Java架构追梦

Java 编程 架构 面试 马士兵

RabbitMQ详解——服务端存储机制(二)

AiDaddy

RabbitMQ mnesia ETS

超全整理:程序员都在用什么工具?

华为云开发者联盟

程序员 技术 设计 编程语言 开发工具

Node.js 17 新特征简介

devpoint

node.js Promise 11月日更

linux 设置VPN

webrtc developer

Linux vpn

腾讯安全姬生利:云原生环境下的“密码即服务”

腾讯安全云鼎实验室

云原生 加密

你需要知道的 19 个 console 实用调试技巧

CRMEB

CSS JavaScript DOM console crmeb

百度Apollo参编首批汽车信息安全国家标准,跻身车联网信息安全第一梯队

百度开发者中心

Apollo

Github上线仅六天,收获Star超55K+,这套笔记能拿下90%以上面试

Java redis spring 程序员 架构

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