首先,可以肯定的是SOA和微服务的确是一脉相承的,大神Martin Fowler提出来这一概念可以说把SOA的理念继续升华,精进了一步。其核心思想是在应用开发领域,使用一系列微小服务来实现单个应用的方式途径,或者说微服务的目的是有效的拆分应用,实现敏捷开发和部署 ,可以是使用不同的编程语言编写。而SOA可能包含的意义更泛一些,更不准确一些。
其次,从实现方式上,两者都是中立性,语言无关,协议跨平台,相比SOA,微服务框架将能够带来更大的敏捷性,并为你构建应用提供更轻量级、更高效率的开发。而SOA更适合大型企业中的业务过程编排、应用集成。另外还有微服务甚至是去ESB、去中心化、分布式的,而SOA还是以ESB为核心,大量的WS标准实现。
再次,从服务粒度上,既然是微,必然微服务更倡导服务的细粒度,重用组合,甚至是每个操作(或方法)都是独立开发的服务,足够小到不能再进行拆分。而SOA没有这么极致的要求,只需要接口契约的规范化,内部实现可以更粗粒度,微服务更多为了可扩充性、负载均衡以及提高吞吐量而去分解应用,但同时也引发了打破数据模型以及维护一致性的问题。
最后,从部署方式上,这个是最大的不同,对比Monolithic(有人翻译为单体)的Java EE部署架构,通过展现层打包WARs,业务层划分到JARs最后部署为EAR一个大包,而微服务则打开了这个黑盒子,把应用拆分成为一个一个的单个服务,应用Docker技术,不依赖任何服务器和数据模型,是一个 全栈应用,可以通过自动化方式独立部署,每个服务运行在自己的进程中,通过轻量的通讯机制联系,经常是基于HTTP资源API,这些服务基于业务能力构建,能实现集中化管理(因为服务太多啦,不集中管理就无法DevOps啦)。
SOA  面向服务的架构,针对企业内部系统,依赖于ESB,将各个子系统串联起来,如下图:

大部分基于SOAP协议,采用ws通信。

微服务本身就是SOA,只是大部分面向于互联网系统,将各个模块独立出来进行开发,部署在不同的服务器上

转载于:https://www.cnblogs.com/weizhenlu/p/7486607.html

SOA和微服务 区别相关推荐

  1. SOA和微服务之间的区别

    近几年,我们有很多文章对SOA和微服务之间的不同点和相似点进行了分析.有些人认为SOA有很多地方是值得微服务学习的,而有些人则认为区别对待微服务和SOA会更好.而Neal Ford认为,将单体迁移到面 ...

  2. 阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别

    内容大纲: 1.介绍Restful.SOAP.RPC.SOA以及微服务 2.重点谈谈SOA与微服务的区别 3.以及为什么要使用微服务架构 什么是Restful Restful是一种架构设计风格,提供了 ...

  3. Restful、SOAP、RPC、SOA、微服务之间的区别

    一.介绍Restful.SOAP.RPC.SOA以及微服务 1.1.什么是Restful? Restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的应用程序或 ...

  4. SOA和微服务架构的区别?

    知乎用户 289 人赞同了该回答 谢多人邀请,其实前面几位的回答已经差不多了,在这里仅谈下自己的简单总结. 微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多 ...

  5. 系统架构演变:SOA、微服务架构的区别和联系

    1.系统架构演变 随着互联网的发展,网站应用的规模不断扩大.需求的激增,带来的是技术上的压力.系统架构也因此也不断的演进.升级.迭代.从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服 ...

  6. SOA和微服务架构的区别

    SOA和微服务架构的区别? 1 条评论 分享 默认排序按时间排序 10 个回答 203赞同 反对,不会显示你的姓名 知乎用户 大型电信行业SOA实施经验,SOA规划咨询,- 203 人赞同 谢多人邀请 ...

  7. SOA与微服务的区别

    1.SOA 全称:Service Oriented Architecture(面向服务架构)是一种架构设计模式,主要是以服务总线的形式对外提供服务, 可以将它理解为一个架构模型或者一种设计方法,而并不 ...

  8. 单体、集群、分布式、SOA、微服务之间的联系与区别

    单体.分层架构.集群.分布式.SOA.微服务之间有什么联系和区别? 1.概念提出时间 单体 : 60.70年代 分层 : 20世纪80年代 集群: 1990年 分布式:1994年 SOA: 1996年 ...

  9. soa和微服务的区别

    1.SOA架构和微服务架构的区别 首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件. 1.SOA(Service Or ...

最新文章

  1. Top-push Video-based Person Re-identification
  2. 【风险管理】风控决策系统
  3. c 多语言切换dll,【图片】老C教学之——给你的程序添加多语言支持【dll】【vb吧】_百度贴吧...
  4. 【新版上线】网易云点播内容加密服务正式发布啦!
  5. C# 客户端HTTP通信
  6. 迟到的tkinter---学校选课刷屏器
  7. python的速度_关于python的速度
  8. 关于php正则表达式得选择题,经典PHP笔试题
  9. 偶然遇到的Java泛型错误,百思不得其解。
  10. maven中引用JDK中的tools jar
  11. 自动驾驶-LQR工程实现(调研)
  12. 电脑无限重启 服务器,电脑开机无限蓝屏重启怎么办
  13. 学术会议海报制作和参考
  14. Conflux人物志-伍鸣博士:好奇心是我探索未知世界的动力
  15. go get无法下载(unrecognized import path)的问题解决方法
  16. 武汉江夏区计算机学院,信工班级风采展⑦ 计算机类1902班
  17. 纯英文拼音交流1声应该表示成0,要不就不知道怎么发音
  18. 境外服务器停机:原因、影响以及如何预防
  19. Guava学习之Joiner
  20. python实现整数从低位到高位输出与从高位到低位输出

热门文章

  1. Unity答题系统2.0版本(修改答题面板形式(滚动视图显示),增加提交后得分结果显示)
  2. 友讯达PLM项目启动
  3. spark原理参数调优
  4. Redis分布式锁介绍及多方案实现
  5. 交通大学计算机应用基础二作业,上海交通大学继续教育学院计算机应用基础二第六次作业计算机安全多媒体...
  6. 鼠标事件offsetX会传递给子元素
  7. 微信小程序的数据监听器
  8. wordpress文章列表获取函数:get_posts
  9. 制定供应商管理流程的5个步骤
  10. SQL中round()函数的使用