10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

SOA 对微服务的残余影响

  • 2017-11-16
  • 本文字数:1027 字

    阅读完需:约 3 分钟

近日, Tareq Abedrabbo 伦敦2017 µCon 微服务大会上说,SOA 对微服务架构设计的残余影响仍然存在,包括技术选型和组织方面的问题。最直接的一个例子就是大多数企业仍然区分对待架构师和开发人员,架构师负责出规范,开发人员负责实现。

OpenCredo CTO Abedrabbo 在大公司和小公司都工作过,这些公司在向微服务架构迁移的过程中仍然受到 SOA 的影响。他在演讲中对 SOA 和微服务进行了有趣的对比,不过他也强调,尽管 SOA 存在问题,但不能把全部责任都推给 SOA。

重用性与变更管理。Abedrabbo 认为,重用性之所以对 SOA 来说十分重要,主要是因为 SOA 缺乏成熟的变更管理工具。服务一旦部署好了,就不太愿意做出变更,因为成本太高。而微服务在变更管理方面具有一定的优势,因为对微服务做出变更的成本要小得多。

集成与组合。SOA 架构强调的是集成,客户端可以向服务器端发送任何格式的数据,包括 XML,服务器端负责解析和处理这些数据。而在微服务架构里则恰好相反,微服务注重组合,服务调用端需要自己知道如何调用其他服务。Abedrabbo 对此总结说,集成增加复杂性,而组合降低复杂性。

技术重用与功能重用。SOA 注重技术重用,我们总是希望尽可能多地重用一个服务,尽管对服务做出变更有很大阻力。而微服务架构更注重让小型的服务专注于特定的业务功能上。

静态与动态。SOA 需要处理所有的事情,一个 SOAP 调用不仅要处理业务逻辑,还要处理安全和事务方面的问题。而微服务更加动态,微服务生态系统的不同部分负责处理不同的问题。

有 SOA 背景的开发人员在构建微服务时容易使用反模式,比如分布式单体,他们只是对一个边界进行无机拆解。对一个已有的单体进行解耦时,如果不考虑边界问题就很容易犯这个错。在与遗留系统进行集成时太过关注底层的解耦,但没有考虑到通信保证、幂等性等因素,这也是很常见的问题。这样的系统只会增加复杂性,体现不出微服务的优势。

Abedrabbo 给出了一些建议用于解决这方面的问题:

  • 采用领域驱动设计。使用微服务实现领域逻辑,避免单纯地从技术角度设计可重用的微服务。
  • 不要使用规范的数据模型。规范的数据模型只会阻碍微服务系统的演化,所以我们应该使用局部数据视图。
  • 正常化元数据,并将它们从其他数据中分离出来。
  • 使用正确的工具。比如,每个微服务都应该有自己的数据库。多个服务共享一个数据库是一种反模式,不过如果使用图数据库或许会是个好办法。

明年的微服务大会将于2018 年11 月5 号至6 号召开。

查看英文原文 About the SOA Heritage Impact on Microservices

2017-11-16 18:0012208
用户头像

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

关注

评论

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

弥合技能差距,掌握财务转型过程中的运营指标

智达方通

全面预算管理 财务管理 财务转型

Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务

sysin

Gitea

HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试

sysin

AppScan

鸿蒙APP开发的主要技术难点

北京木奇移动技术有限公司

鸿蒙app 软件外包公司 APP外包公司

花开正当时,原生鸿蒙助力“有为青年”解锁智慧校园新体验

最新动态

共筑智能电网新生态!YashanDB与南瑞集团完成兼容互认证

极客天地

报名倒计时丨最新议题精选:GenAI如何转变产品设计工作流程?汽车电子与半导体创新交叉点...

Altair RapidMiner

AI 数据分析 仿真 高性能计算 智能制造

2025微信小程序解决方案挑战赛·日本站,欢迎全球开发者来战

科技热闻

共筑教育行业新生态!YashanDB与光大科技完成兼容互认证

极客天地

Linux系列:如何用 C#调用 C方法造成内存泄露

秃头小帅oi

电线生产行业 MES 系统解决方案

万界星空科技

mes 电线电缆行业 电线电缆mes 电线行业 电线mes

测试是如何跟进和管理 bug

易成研发中心

AUTOSAR网络管理自动化测试如何创建测试框架

易成研发中心

自动化测试

揭秘Chrome DevTools:从原理到自定义调试工具

京东科技开发者

黑龙江等保测评安全产品有哪些?

黑龙江陆陆信息测评部

华为开发者空间:基于DeepSeek构建RAG向量数据库

华为云开发者联盟

人工智能 大模型 向量数据库 rag DeepSeek

分享大家常用的免费在线项目管理系统:2025年主流17款

易成研发中心

项目管理工具

Studio 3T 2025.4 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端

sysin

Zabbix 7.0 LTS OVF (build with LNMP based on Rocky 8.10) - VMware 虚拟机模板

sysin

zabbix

AI与.NET技术实操系列

秃头小帅oi

京东零售基于国产芯片的AI引擎技术

京东科技开发者

25年兰州等保测评机构名单汇总

行云管家

网络安全 等保 等保测评

「大模型 + NoETL = 万数皆可问!」3.14 上海,与头部企业共探 Chat 问数的落地之道

Aloudata

数据分析 数据开发 数据管理 指标平台 指标定义

SOA对微服务的残余影响_SOA_Jan Stenberg_InfoQ精选文章