Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >面向服务的架构、微服务架构有何区别?

面向服务的架构、微服务架构有何区别?

提问于 2018-05-30 21:56:20
回答 7关注 0查看 4.8K

面向服务架构(SOA)是10年前提出的概念,而微服务架构则是现在最火的架构形式,这两者具体是什么呢?又有何区别呢?

已邀请
等3人回答

回答 7

挺问中原

发布于 2018-05-31 12:39:47

首先我们先简单的介绍一下什么是面向服务的架构,它的英文全称:service-oriented architecture,这不是一种特定的技术,而是一种分布式计算的软件设计方法。它是一个组件模型,它将应用程序的不同服务通过这些服务之间定义好的接口联系起来。接口是采用中立的方式进行定义的,通用性高,可以独立在不同的硬件平台、操作系统和编程语言上进行使用。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。(引用维基百科)

以下指导原则是开发、维护和使用SOA的基本原则:

1、 可重复使用,高交互操作性。

2、 通用的匹配开放标准,对各厂商的产品兼容性高。

3、服务的识别和分类,提供和发布,监控和跟踪

引用自cybage官网
引用自cybage官网

那么微服务架构是什么呢?微服务(Microservices)是一种软件的架构风格。它的具体架构可以参考这篇文章。它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。(引用维基百科)

引用自nginx官网
引用自nginx官网

了解了这么多,简单介绍一下这两者之间的区别:

1. 微服务说的直白一些就是组合化,它的每部分需要实现的功能可以有不同的小程序单独构成,然后相互之间协同实现一个大的目标。这个角度上来说,它们是一脉相承的额,但是面向服务的架构,没有微服务的分离度高,相互之间的关联度还是相对较高。举一个很简单的例子,就拿常见的医院和诊所,医院就是微服务架构,不同的部分分工不同,但是诊所就是一个医生必须全科,啥都要做,这就是SOA。

2. 微服务相比较来说,在各个组件上可以使用不一样的编程语言。

拾指相扣

发布于 2018-06-01 08:40:23

SOA是一种传统的软件体系结构,通过应用程序的不同组件之间的网络通信协议实现向其他软件组件提供服务,在10多年前使用极为广泛。微服务架构某种意义上基于SOA进行发展的,但是微服务的创建仅限于一个特定的业务功能,在各个相互配合的组件中,各自是独立的,基本上没有集中式管理,各自的实现也可以使用不同的编程语言和不同的数据库。

但是微服务相比较SOA有以下几个优点:

1、微服务更加关注于解耦,不追求系统之间的相关性。

2、微服务的系统发生改变只需要构建一个新的服务,简单快捷,但是SOA则需要对整个系统进行修改。

3、微服务使用的协议一般都是轻量级的协议,就像HTTP、Thrift API等协议,但是SOA则是使用更为复杂多样的多种消息协议。微服务的容错性能会更好,即使一个微服务出现问题,其他的微服务也会正常工作。

4、每个微服务都有单独的数据库,SOA则是共享一个数据库。

5、微服务的规模更小,SOA则是一个较大的规模。SOA可以是一个整体,也可以是多个微服务组成的。

图片来源于网络
图片来源于网络

王健康

发布于 2018-06-01 12:16:48

楼主可以介绍以下微服务的一些其他的相关知识吗?比如它的一些通信协议等

和开发者交流更多问题细节吧,去 写回答
相关文章
面向服务架构
SOA是Service-Oriented Architecture的缩写,即面向服务的架构。它是一种软件架构模式,旨在通过将应用程序拆分为可重用的服务来提高应用程序的灵活性、可维护性和可扩展性。在SOA中,服务是独立的、自治的、可重用的组件,它们通过标准化的接口进行通信。SOA通常包含以下组件:
运维开发王义杰
2023/08/10
1940
面向服务架构
了解面向服务架构
SOA是Service-Oriented Architecture的缩写,即面向服务的架构。它是一种软件架构模式,旨在通过将应用程序拆分为可重用的服务来提高应用程序的灵活性、可维护性和可扩展性。在SOA中,服务是独立的、自治的、可重用的组件,它们通过标准化的接口进行通信。SOA通常包含以下组件:
运维开发王义杰
2023/08/10
1950
了解面向服务架构
面向服务的架构和WebService
SOA 是概念层级的架构模型,需要使用其他技术来具体实现 SOA 模型,比如 Web Service(主流方式)、组件服务、REST 服务等。
hotarugali
2022/03/01
7560
面向服务的架构和WebService
SOA 和微服务有何区别?
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。
江南一点雨
2023/01/04
1.3K0
SOA 和微服务有何区别?
层次架构、面向服务架构(四十四)
实体设计:实体表示一些持久化存储的数据,实体提供对业务数据及相关功能的状态编程访问。
keying
2023/10/05
3530
层次架构、面向服务架构(四十四)
微服务架构技术有哪些_微服务架构组件
技术实现取决于需求,也就是微服务架构需要的考虑的基本技术问题。一个基本的微服务架构需要实现基本的五大核心功能:服务注册和发现、服务间通信、服务容错、数据管理和API网关,基本实现需求如下:
全栈程序员站长
2022/11/01
1.4K0
Uber:面向领域的微服务架构
近来,一些关于面向服务架构的话题,特别是针对微服务架构的弊端这个话题上进行了大量的讨论。虽然在几年前,微服务架构受到很多人的青睐,因为它们提供了许多好处,如独立部署的灵活性、明确的所有权、系统稳定性的改善以及更好的分离问题等优点。但是不久,就开始有人吐槽微服务会大幅增加系统复杂性,有时甚至连一些简单的功能都难以构建。
架构之家
2022/07/12
3900
Uber:面向领域的微服务架构
微服务架构深度解析微服务定义是什么?微服务与云原生有何关联?
微服务的概念来源于Martin Fowler 的一篇知名博文 :MicroServices。在博文中,“微服务架构”这个术语用来描述一种将软件应用程序设计为可独立部署的服务套件的特定方式。
愿天堂没有BUG
2022/10/28
8340
微服务架构深度解析微服务定义是什么?微服务与云原生有何关联?
面向服务架构(SOA)和企业服务总线(ESB)
学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点关注微软在SOA领域的相关指导和.NET社区的相关开源的解决方案,和大家一起来探讨如何在企业里实现SOA,期望有实施SOA经验的同学发表意见。 一、SOA的历史      1996年,Gartner最早提出SOA。2002年12月,Gartner提出SOA是"现代应用开发领域最重要的课题",SOA并不是一个新事物,IT组织已经成功建立并实施SOA应用软件很多年了,BEA、IBM、等厂商看到了它的价值,纷纷跟进。SOA的目标在于让IT
张善友
2018/01/22
2.8K0
面向服务架构(SOA)和企业服务总线(ESB)
SOA和微服务架构的区别
微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用。这些小应用之间通过服务完成交互和集成。每个小应用从前端web ui,到控制层,逻辑层,数据库访问,数据库都完全是独立的一套。在这里我们不用组件而用小应用这个词更加合适,每个小应用除了完成自身本身的业务功能外,重点就是还需要消费外部其它应用暴露的服务,同时自身也将自身的能力朝外部发布为服务。 如果一句话来谈SOA和微服务的区别,即微服务不再强调传统SOA架构里面比较重的ESB企业服务总线,同时SOA的思想进入到单个业务系统内部实现真正的组件化。 把这个核心搞清楚后,再来看下网上找到的对微服务架构的一些定义和阐述:
哲洛不闹
2019/03/11
1.4K0
【微服务架构】微服务架构——探索 UBER 的微服务架构
从我之前的文章中,你一定对微服务架构有了一个基本的了解。在本博客中,您将深入了解架构概念并使用 UBER 案例研究来实现它们。 在本文中,您将了解以下内容: 微服务架构的定义 微服务架构的关键概念 微服务架构的优缺点 优步——案例研究 在我谈论 UBER 的微服务架构之前,如果我给你定义微服务,这将是公平的。 微服务的定义 因此,没有对微服务(也称为微服务架构)的正确定义,但您可以说它是一个框架,由执行不同操作的小型、可单独部署的服务组成。 微服务专注于单个业务领域,可以将其实现为完全独立的可部署服
架构师研究会
2022/03/24
7110
亚马逊如何变成 SOA(面向服务的架构)?
上一篇文章,我摘录了《程序员的呐喊》。这本书有趣的内容太多,今天再摘录一段。 1、 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商。它是怎么实现从电商到云商的转变呢? 一切都是CEO杰夫
ruanyf
2018/04/13
9350
亚马逊如何变成 SOA(面向服务的架构)?
系统架构演变:SOA、微服务架构的区别和联系
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/03/08
1.6K0
有赞服务化架构演进
服务化是互联网公司成长的必经之路。随着微服务的兴起,很多公司如火如荼的搞起了自己的服务化,有兴奋有无奈。那服务化该怎么做,该做什么?本文试图从有赞的发展历程来体会服务化发展。
搜云库技术团队
2019/10/18
2.5K0
「微服务架构」Medium的微服务架构实践
微服务¹架构的目标是帮助工程团队更快,更安全,更高质量地交付产品。解耦服务允许团队快速迭代,对系统的其余部分影响最小。
架构师研究会
2019/06/28
6730
「微服务架构」Medium的微服务架构实践
面向微服务的企业云计算架构转型
大家好,我是焦烈焱,今天主要介绍普元利用云计算模式,帮助企业实施数字化转型过程中,在技术上遇到的挑战,以及我们解决问题的方法。 首先解释一下什么是数字化?数字化就是把人、事/物和商业联系起来,Garn
yuanyi928
2018/04/02
1.9K0
面向微服务的企业云计算架构转型
「微服务架构」企业微服务架构
首先,来自Darren的消息是,微服务架构并不是构建大规模企业应用程序的新方式。 Netflix和亚马逊等公司已经实施了微服务架构,在过去几年中提供了成功的产品。
架构师研究会
2018/12/24
8430
1500字讲懂单体架构和微服务架构的区别
在软件开发中,架构设计是非常重要的一环。架构设计不仅决定了软件系统的性能、可维护性和扩展性,还直接关系到开发成本和项目进度。目前,主流的架构设计模式有两种,一种是单体架构,另一种是微服务架构。本文将详细介绍这两种架构的特点和区别。
网络技术联盟站
2023/05/03
1.9K0
1500字讲懂单体架构和微服务架构的区别
微服务在微信的架构实践
微服务的理念与腾讯一直倡导的“大系统小做”有很多相通之处,本文将分享微信后台架构的服务发现、通信机制、集群管理等基础能力与其上层服务划分原则、代码管理规则等。
Java架构师历程
2018/09/26
3.9K0
微服务在微信的架构实践
点击加载更多

相似问题

是架构服务于业务还是业务服务于架构呢?

130

是架构服务于业务还是业务服务于架构呢?

139

微服务架构的优势与不足?

102.3K

云服务的整体架构图?

1557

微服务架构中不同服务之间是如何通信的?

77.1K
相关问答用户
中建数科 | 技术总监架构部总经理擅长3个领域
公司公司公司公司公司公司 | 职务职务职务职务职务职务擅长3个领域
腾讯云TDP | 高级后端开发工程师擅长3个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档