写点什么

架构学习笔记:微服务架构与 SOA 架构

用户头像
风翱
关注
发布于: 2021 年 05 月 25 日

微服务与 SOA 架构


关于微服务与 SOA 的关系和区别,主要有以下几个观点:

1.微服务是 SOA 的实现方式

主要是认为 SOA 是一种架构理念,而微服务是 SOA 理念的一种具体实现方式。

2.微服务是去掉 ESB 后的 SOA

认为传统 SOA 架构最广为人诟病的就是庞大、复杂、低效的 ESB,因此讲 ESB 去掉,改为轻量级的 HTTP 实现,就是为服务。

3.微服务是一种和 SOA 相似但本质傻姑娘不同的架构理念

这种观点认为微服务和 SOA 只是有点类似,但本质上是不同的架构设计理念。相似点主要在于两者都关注“服务”,都是通过服务的拆分来解决可扩展性的问题。本质上不同的地方在于几个核心理念的差异:是否有 ESB、服务的粒度、架构设计的目标等。


接下来对比下 SOA 和微服务的一些具体做法:

1.服务粒度

整体上来看,SOA 的服务粒度要粗一些,而微服务的服务粒度要细一些。


2.服务通信

SOA 采用 ESB 作为服务间通信的关键组建,负责服务定义、服务路由、消息转换、消息传递,总体上是重量级的实现。

微服务推荐使用统一的协议和格式,例如 RESEful 协议、RPC 协议、无须 ESB 这样的重量级实现。


3.服务交付

SOA 对服务的交付并没有特殊要求,因为 SOA 更多考虑的是兼容已有的系统;微服务的架构理念要求“快速交付”,相应的要求采取自动化测试、持续集成、自动化部署等敏捷开发相关的最佳实践。


4.应用场景

SOA 适合于庞大、复杂、异构的企业级系统。

微服务更加适合于快速、轻量级、基于 Web 的互联网系统。

发布于: 2021 年 05 月 25 日阅读数: 36
用户头像

风翱

关注

还未添加个人签名 2017.11.24 加入

勇于尝试,持续成长

评论

发布
暂无评论
架构学习笔记:微服务架构与SOA架构