知识卡片
微服务与SOA的本质区别不在有没有ESB而在设计理念
内容
微服务和SOA常被混淆,本质是不同设计理念,只在”用服务解决可扩展性”上有交集。核心差异有三:服务粒度(SOA粗如”员工管理系统”,微服务细如”考勤管理”单独成服务)、通信方式(SOA靠ESB统一处理协议转换,微服务用轻量协议只传递不处理)、适用场景(SOA面向异构企业系统,微服务面向可从零构建、快速试错的系统)。发散:这解释了微服务硬套传统IT改造往往行不通——它假设系统能按业务能力重新切分。
参考来源
- 位置:《从0开始学架构》第39章《34|深入理解微服务架构:银弹or焦油坑?》"微服务与SOA的关系"一节(源文件:_epub-src/OEBPS/Text/part0038_split_000.html)
- 结论依据:原文明确"对一个大型企业来说,'员工管理系统'就是一个SOA架构中的服务;而如果采用微服务架构,则'员工管理系统'会被拆分为更多的服务,比如'员工信息管理''员工考勤管理'",并说明"SOA更加适合于庞大、复杂、异构的企业级系统……微服务更加适合于快速、轻量级、基于Web的互联网系统"。
- 原始内容:对一个大型企业来说,"员工管理系统"就是一个SOA架构中的服务;而如果采用微服务架构,则"员工管理系统"会被拆分为更多的服务,比如"员工信息管理""员工考勤管理"……SOA更加适合于庞大、复杂、异构的企业级系统……微服务更加适合于快速、轻量级、基于Web的互联网系统。