SOA

面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

微服务

一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。

关系

微服务在形式上与SOA很类似,在分布式环境中都是进行更多独立的服务、独立的部署,我们可以理解是SOA的继任者。但是骨子里微服务又将SOA那一套沉重的前期规划、设计和分层实施的思路彻底打烂,形成了一个新的思想变种,灵活、敏捷、小巧,更适合团队密切的协作。这就是进行了SOA基因的彻底改造,形成了更简化的一种分布式架构形态,尤其满足更为互联网化应用的需求。

异同

(SOA)具有企业范围,而微服务体系结构具有应用程序范围。微服务中的服务组件通常只有一个目的,并且确实很好地完成这一任务。另一方面,在SOA中,服务通常包含更多的业务功能,并且通常将它们实现为完整的子系统。

微服务,在某种程度上,是SOA演进的下一步。在提出微服务这个通用名称之前,有人将其称为“微型Web服务”或“细粒度SOA”。

在SOA中,它使用企业服务总线(ESB)进行通信,服务与服务之间通过总线进行消息传递。ESB可能会成为影响整个系统的单点故障。由于每个服务都通过ESB进行通信,因此如果其中一项服务变慢,则可能会阻塞对该服务的请求,从而阻塞ESB。

另一方面,微服务的容错性要好得多。例如,如果一个微服务发生故障,则仅会影响该微服务。所有其他微服务将继续定期处理请求。

简述SOA和微服务的概念以及两者之间的关系和异同相关推荐

  1. spring cloud eureka 服务之间调用_Spring-cloud微服务实战【一】:微服务的概念与演进过程...

    本文是一个系列文章,主要讲述使用spring-cloud进行微服务开发的实战.在开始之前,我们先说一下从传统的单一部署架构到微服务的发展过程,以便让童鞋们更好的理解微服务的概念与演进过程. 1.单体架 ...

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

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

  3. 集群、分布式、微服务的概念及异同

    一.什么是集群? 集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事:但是每台服务器并不是缺一不可,存在的主要作用是缓解并发能力和单点故障转移问题. 集群主要具有以下特征: (1) ...

  4. SOA ESB 微服务 浅析

    SOA架构解析 SOA 全称是: Service Oriented Architecture,中文释义为 "面向服务的架构",它是一种设计理念,其中包含多个服务, 服务之间通过相互 ...

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

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

  6. 一张图看懂SOA与微服务

    一张图看懂SOA与微服务 图片来自普元 1.SOA是站在整个企业系统的角度的治理 2.微服务的概念则小一点 3.ESB主要解决的是系统集成的问题,而且是面向已有的信息资产

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

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

  8. 简单聊聊SOA和微服务

    本文转载自:http://dockone.io/article/2399 前两天和一个朋友聊天,他向我咨询如何从零开始构建一个健壮.强大的软件系统,聊着聊着他忽然问我,「听大家都在说微服务(下文中有的 ...

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

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

最新文章

  1. ML 02、监督学习
  2. 性能测试应该怎么做?
  3. java8 时间 LocalDateTime常用方法
  4. mysql 10分钟一聚合_SQL-根据DateTime查询多个聚合-MySQL
  5. ie浏览器网页版进入_Win10系统中IE和edge浏览器无法打开网页如何解决
  6. Apache Flink新场景——OLAP引擎
  7. 生命游戏 并行化_新加坡电音制作人楚晴Jasmine《困兽游戏》,讲述爱情间的博弈...
  8. 接口自动化测试框架搭建(3、excel的设计excel文件的读取)--python+HTMLTestRunnerCN+request+unittest+mock+db
  9. nxlog收集linux日志,Nxlog——日志采集神器简介
  10. Android动态生成答题卡,手机扫描答题卡改卷的最佳选择——ZipGrade
  11. 熊猫烧香、威金的解决办法
  12. 一文了解Clickhouse
  13. gtest学习笔记--5 死亡测试
  14. PHP服务端 苹果支付(IAP)处理
  15. MC皮肤站和外置登陆教程
  16. win10-2016企业版长期服务版激活
  17. 编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。 可以弹奏的乐器包括二胡、钢琴和小提琴
  18. 2020-11-08裁判文书网数据python爬虫更新下载
  19. 微服务网关Gateway实战
  20. 【论文翻译】-- GaitSet: Regarding Gait as a Set for Cross-View Gait Recognition

热门文章

  1. 中国大陆省市县区域代码javaScript实现
  2. 2017年全球大数据产业报告之海外篇(第七集)
  3. 百家号 python高手养成_百家媒体号,日撸700的核心!
  4. 四川企立方:拼多多盗图有什么处罚
  5. golang sleep
  6. ?php if (have_posts()) : ?,WordPress中重置文章循环的rewind_posts()函数讲解
  7. 南卡和漫步者蓝牙耳机哪个降噪效果更好?500元内主动降噪耳机测评
  8. 游客检票 - C/C++ 变量及简单数据类型
  9. 打印内存的c语言实现
  10. 找出最小自然数N,使N!在十进制下包含Q个0(输入Q,输出N)