服务通信SOA 采用了 ESB 作为服务间通信的关键组件,负责服务定义、服务路由、消息转换、消息传递,一般情况下都是重量级的实现 。微服务则使用统一的协议和格式,例如:HTTP RESTful 协议、TCP RPC 协议,不需要 ESB 这样的重量级实现 。
服务交付SOA 对服务的交付没有特殊要求,因为 SOA 更多考虑的是兼容已有的系统;微服务的架构理念则要求快速交付 , 相应地要求采取自动化测试、持续集成、自动化部署、自动化运维等的最佳实践 。
应用场景SOA 更加适合于庞大、复杂、异构的企业级系统 。这类系统的典型特征就是很多系统已经发展多年,各个服务具有异构性,比如:采用不同的企业级技术、有的是内部开发的、有的是外部购买的,无法完全推倒重来或者进行大规模的优化和重构 。因为成本和影响太大,只能采用兼容的方式进行处理,而承担兼容任务的就是 ESB 。
微服务更加适合于快速、轻量级、基于 Web 的互联网系统,这类系统业务变化快,需要快速尝试、快速交付;同时基本都是基于 Web,虽然开发技术可能差异很大(例如,Java、.NET、PHP 等),但对外接口基本都是提供 HTTP RESTful 风格的接口,无须考虑在接口层进行类似 SOA 的 ESB 那样的处理 。
还有一些不同,为了方便理解记忆,汇总成如下表格:
SOA
微服务
服务粒度
【什么是SOA 什么是soa架构】粗粒度
细粒度
业务划分方式
水平多层
纵向业务划分
部署方式
整体部署
独立部署
通信方式
使用重量级通信方式,ESB充当服务之间通信的角色
使用轻量级通信方式,如HTTP RESTful
服务交付
交付慢
交付块
应用场景
庞大、复杂、异构的企业级系统
快速、轻量级、基于 Web 的互联网系统
竟然已经看到这里了,你我定是有缘人,留下你的点赞和关注,他日必成大器 。
原文地址:https://www.cnblogs.com/heihaozi/p/15937441.html
推荐阅读
- 扁平足是怎么形成的 扁平足矫正的最佳年龄
- 夏朝之前 夏朝之前是什么朝代
- 微信表情合十什么意思 微信表情合十是啥意思
- 螃蟹怎么保存好 螃蟹怎么保存好生的还是煮熟的
- 梦到哭已逝的亲人 梦到哭已逝的亲人什么意思
- 梦到开直升飞机 梦到开直升飞机有什么预兆
- 梦到背女人下山 梦到背女人下山是什么意思
- 梦到坐直升飞机 梦到坐直升飞机是什么预兆
- 梦到飞机票 梦到飞机票是什么意思
- 梦到坐飞机旅游 梦到坐飞机旅游是什么意思
