SOA 是一种设计方法,它通过提供服务向外提供一系列功能,服务之间通过网络调用,而非采用进程内调用的方式进行通信。SOA可软件的复用性,如多个终端共享一个以应用于庞大的单块应用程序,从而提高服务。SOA 更倾向于理论和概念的层面,关于服务的粒度定在哪个层级,服务如何落地,如何保证可用性等问题有待解决。我们所知软件的运行是离不开外部环境的,对于软件所依赖的环境,SOA涉及面较少。

微服务就在此情况下诞生,沿袭了SOA的基本概念。微服务将业务划分多个独立的服务并明确不同的责任,既保证了概念的清晰和自洽,又保证了系统的灵活性、伸缩性。面对杂乱不可靠的现实,又从实现上注重每个服务的自治性,也就是能独立部署,具备自动化、可观察、故障隔离、自动恢复等特性,由此提供高可用保障。

图1 微服务与 SOA 的关系

如图1 所示,微服务在原来SOA的基础上更进了一步,原来系统之间用SOA理念集成起来,但却没有定义每个系统具体什么样。微服务的特性决定了要对系统重新进行定义,系统要自治,要独立部署,要有隔离性,只能和别人用轻量级的通信方式,可以有自己专属的技术和数据。在系统内部要切成一个个微服务,每个微服务要具备的特性都要定义清楚,会比原来的 SOA 有更好的操作性。

微服务与 SOA的关系相关推荐

  1. SOA详解微服务与SOA的关系

    单体应用 单体应用优化 SOA 面向服务的架构 SOA描述 SOA维基百科翻译 面向服务的体系结构(SOA)是一个式的软件设计风格,是通过应用组件的方式向其他组件提供服务,基于网络的的一个通讯协议.S ...

  2. 微服务与SOA的关系

    目录 一.SOA 和微服务对比 1.服务粒度 2.服务通信 3.服务交付 4.应用场景 二.微服务的陷阱 1.服务划分过细,服务间关系复杂 2.服务数量太多,团队效率急剧下降 3.调用链太长,性能下降 ...

  3. 微服务、SOA 和 API对比与分析

    摘要: 对比微服务架构和面向服务的架构(SOA)是一个敏感的话题,常常引起激烈的争论.本文将介绍这些争论的起源,并分析如何以最佳方式解决它们.然后进一步查看这些概念如何与 API 管理概念结合使用,实 ...

  4. Java程序员必经的实践之路:微服务与SOA架构

    而另一方面,微服务推崇执行的标准(例如HTTP)却是人们广泛了解并共同使用的.我们可以通过选择合适的语言或工具来构建某个组件微服务.SOA与微服务还有一个更大的区别:领域模型.在基于微服务的软件中,每 ...

  5. DevOps笔记-02:DevOps与微服务之间是什么关系?

    DevOps与微服务之间是什么关系? 没关系. 微服务是一种应用架构的设计风格.以前的应用大多是单体的,即所有服务都打到一个软件包里面,这样的问题就是,哪怕任何人改一点代码,整个软件包都要重新生成,重 ...

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

    经常会有同学问,微服务和SOA架构有什么区别.这个区别一定要从架构的发展过程来了解.这两种架构模式,其实本质上应该是在分布式架构这条时间线上,基于服务化思想的不断完善,以及基础设施的逐步成熟之下的一种 ...

  7. 微服务与SOA以及服务间通讯协议

    说到微服务,就一定会想到微服务.分布式.集群.SOA.SOAP.restful.Http.RPC等相关概念,而这些概念都一些界限都非常的模式,很难理清楚确切的概念,本篇主要是介绍我对微服务中常遇到的一 ...

  8. 微服务、SOA、ESB比较

    很多时候会听到微服务.SOA.ESB之间有着联系也有着区别,有时候了解了一下,过段时间有混肴模糊了今天看了一篇文章写的很好,特地记录一下. 原文地址:https://mp.weixin.qq.com/ ...

  9. 微服务与SOA的实践应用对比

    关于微服务是什么,面向服务的体系结构(SOA)又是什么,两者之间有何关联真是众说纷纭.困惑颇多.很多人都加入了这场讨论,从ThoughtWorks的Martin Fowler到Cap Gemini的S ...

最新文章

  1. clickhouse批量写入_交互式分析领域,为何 ClickHouse 能够杀出重围?
  2. hdu 5441 Travel(Kruskal+离线)
  3. 5.6 Column Attribute
  4. AOP各种表达式,aspectj的关系
  5. 信息学奥赛C++语言:判断奇偶
  6. c#重载和重写及运用
  7. Pjax无刷新跳转页面实现,支持超链接与表单提交
  8. python安装教程-Python 3.5安装教程
  9. RedisUtil工具类
  10. Mybatis 图解
  11. Epub360、iH5、Mugeda,三款专业级H5设计工具详评
  12. java 时间英文格式_Java英文日期格式解析
  13. TensorFlow Session 中关于 GPU 的配置项解析 ——转自 慢慢学TensorFlow 微信公众号
  14. 这只是起点 ——暨CSDN博客“我的2013”年度征文活动获得特等奖
  15. c++ json::value
  16. Pycharm报错:AttributeError: ‘NoneType‘ object has no attribute ‘_gdal‘的解决办法
  17. ティラミス / 龙枪
  18. java dom4j读写锁,java锁的深度化-重入锁,读写锁,乐观锁,悲观锁
  19. 【WPS-OFFICE-Word】 WPS中样式的运作原理?样式自动更新、自动改变如何处理?样式的管理方法?
  20. 用matlab求互谱cpsd,互相关函数Rxy(C)

热门文章

  1. CMU15-445 PROJECT #1 - BUFFER POOL(Fall2020实验代码,已满分)
  2. 【MOS 966023.1】How to Create an OCM Response file to Apply a Patch in Silent
  3. 专利申请流程专利权终止怎么办
  4. html地图模块,百度地图自定义控件模板.html
  5. linux入门常用知识点part1(干货系列小郭学习Linux的第一天)
  6. NXP设备上面4G/5G模块调试过程
  7. 计算机控制发展历程,电气控制技术的发展历程
  8. Java的第五次总结
  9. 带您全面了解B2B2C免费商城系统
  10. python27.dll是系统自带的吗_《消防应急照明和疏散指示系统技术标准》疑难问题汇总(一)...