写点什么

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

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

关注

评论

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

揭秘百度IM消息中台的全量用户消息推送技术改造实践

JackJiang

消息推送 即时通讯IM im开发

3D LED显示屏选购指南

Dylan

3D LED显示屏 避坑指南

手把手教你在昇腾平台上搭建PyTorch训练环境

华为云开发者联盟

人工智能 华为云 昇腾 华为云开发者联盟 企业号 5 月 PK 榜

详解GaussDB(DWS)用户监控原理及应用

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

产品经理们,请小心这 5 种错误的职场打开方式!

LigaAI

产品经理 团队协作 研发协作 产品负责人 企业号 5 月 PK 榜

网闸、防火墙、堡垒机三大定义说明

行云管家

防火墙 堡垒机 网闸

软件测试/测试开发丨Web自动化测试中显式等待的高级使用

测试人

程序员 软件测试 自动化测试 测试开发

Nodejs 应用编译构建提速建议 | 京东云技术团队

京东科技开发者

node.js 编译 前端构建 企业号 5 月 PK 榜

深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、Transformer Encoder等原理详细讲解

汀丶人工智能

自然语言处理 深度学习 预训练模型 Transformer GPT

数据可视化:相关类可视化图表大全

2D3D前端可视化开发

数据可视化控件 数据可视化工具 可视化数据 可视化图表 数据可视化设计

Github标星78k,Alibaba最新发布的Spring Boot项目实战文档!太强了

Java你猿哥

Java 面试 Spring Boot ssm Spring MVC

手机一开,说办就办!指尖上的“数字江西”

OceanBase 数据库

数据库 oceanbase

inBuilder今日分享丨系统集成系列之背景与方案概述

inBuilder低代码平台

杜绝开源依赖风险,许可证扫描让高效&合规「两不误」

极狐GitLab

DevOps DevSecOps 开源许可证 极狐GitLab 安全合规

阻抗板是否高可靠,华秋有话说

华秋电子

数据可视化:部分整体类可视化图表大全

2D3D前端可视化开发

数据分析 数据可视化 数据可视化工具 可视化图表 数据可视化设计

深度解析 slab 内存池回收内存以及销毁全流程

bin的技术小屋

Linux 内存管理 Linux Kenel 内存池 slab

基于openfaas托管脚本的实践

百度Geek说

数据库 百度 企业号 5 月 PK 榜

7个工程应用中数据库性能优化经验分享

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

GitHub上标星75k+超牛的《Java面试突击离线版》够你润进去了

程序知音

Java java面试 Java进阶 Java面试题 Java面试八股文

AI 换脸技术:你的照片可能被滥用了!

郑州埃文科技

AI 数据治理

官宣!时序数据库 TDengine 与天翼云完成产品兼容性认证

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine

腾讯云COS SDK线上内存泄漏问题总结

性能优化 java; 内存泄漏 JVM;

MobPush iOS端合规指南

MobTech袤博科技

Bytebase:更好地管理你的 OceanBase 数据库

OceanBase 数据库

数据库 oceanbase

生态伙伴 | 携手深圳科创学院,持续推动项目落地与成长

华秋电子

堡垒机免费版有哪些功能啊?后面需要过等保怎么办?

行云管家

安全运维 运维软件 免费运维

性能测试监控指标及分析调优 | 京东云技术团队

京东科技开发者

性能优化 性能测试 企业号 5 月 PK 榜 测试监控

C4D 常用 14 款插件

Finovy Cloud

C4D 3D软件

面试进阶齐飞!Github一天万赞的阿里Java系统性能优化有多牛?

Java你猿哥

Java JVM ssm Java性能优化

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计

飞桨PaddlePaddle

人工智能 百度飞桨 AIGC Stable Diffusion

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