前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >什么是SOA?

什么是SOA?

作者头像
逍遥壮士
发布于 2020-11-12 07:16:16
发布于 2020-11-12 07:16:16
1.2K0
举报
文章被收录于专栏:技术趋势技术趋势

什么是SOA?

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

个人理解:比如五代十国的时候,各国有各国的货币这样不同国家的人交易起来特别麻烦,后面统一一种货币比如黄金,然后大家可以更顺利交易,因为不会因为货币的不同导致各种麻烦。这种就类似现在各国的货币统一兑换系统一样。

SOA解决了什么问题?

统一了规范和标准,让程序无法直接访问其他服务的数据,解决多套、多种系统互相通讯或交互的问题。其实就像一个协议,你该干嘛就干嘛,哪些不能干。

SOA优缺点?

优点:

提高复用率:传统针对不同系统或第三方都需要对应一套与之对应的接口或系统,而soa一套搞定;

易拓展、更灵活、更规范、更安全:SOA接口与实现分离,在一定场景可以对实现修改不会影响接口也不需重新对接,并且需要得新新加一个接口或功能很容易就加上去了,也可以让提到接口封装的效果及安全性保证;

缺点:

排查问题不便:因为大家都用你的系统,一但出现问题,因为是分布式和多环境,具体哪里出问题,需要一点一点排查不是很方便。(当然现在可以做监控具体到方法)

关系复杂:由于大家间都在互相调用会导致,最后有一个问题可能要找人不是很方便,所以建议用责任人标记表,遇到问题直接找责任人。(特别中等规模公司)

性能难保:因为都是互相调用,你能保证自己但无法保证别人的性能,所以会导致a用了你的服务,你又用了c的服务,但是a觉得你b有性能问题,但其实是c导致的....

最后

SOA就是一种思想,将这种思想提升成一种契约或协议,然后大家共用遵循,解耦、提升性能、提升安全性等,当然跟微服务是有区别的可以参照如下参考。

参考:

https://baike.baidu.com/item/SOA/2140650

https://developer.51cto.com/art/202003/613516.htm

https://blog.csdn.net/chszs/article/details/78515231

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 技术趋势 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微服务与SOA架构(2)
服务分类学 服务分类学指的是在某种架构下服务是如何归类的。有两种服务分类的基本类型:服务类型和业务领域。服务类型分类法会根据整个架构中服务所扮演的角色进行分类。例如,某些服务是实现业务功能的,而另一些服务可能是实现非业务功能的,例如日志、审计和安全。业务领域分类法会根据服务在特定业务功能领域中所扮演的角色来进行分类,例如报表、交易处理和订单送货等等。 服务类型分类一般在架构模式层进行定义,而业务领域分类则在架构实现层进行定义。尽管架构模式提供了很好的基础来定义服务类型,作为一个架构师,你可以按照自己的想法
架构师研究会
2018/04/09
8170
微服务与SOA架构(2)
单体应用、SOA架构、微服务架构的对比
随着近年来云技术的发展,越来越多的用户选择使用云技术来代替传统的IT基础设施。在云技术发展的早期,业界的关注点集中在虚拟化、分布式、存储等laas方面的技术。但随着“云原生”概念的提出,大家的注意力开始转移到如何构建更加合适环境运行的应用上来。
小马哥学JAVA
2022/11/14
1.1K0
当企业服务总线遇到云服务
本文主要介绍企业服务总线的常见应用场景,与大家共同探讨在云环境、微服务中传统企业服务总线所面临的问题,结合普元企业服务总线产品向大家分享我们该如何解决这些问题。
yuanyi928
2020/08/04
3.8K0
当企业服务总线遇到云服务
TestOps 如何保证测试的有效性
分享大咖是陈飞老师。陈飞老师直接列了一张运维成长路线图,也可以用作性能测试必备技能列表。所以如果你想成为一个出色的TestOps,快来看看今天的分享吧。
rainbowzhouj
2023/03/16
6020
TestOps 如何保证测试的有效性
微服务与SOA架构(3)
image.png 比较架构特性 组件(component)是软件中的一个单位,具有定义良好的接口、定义良好的角色/责任集合。组件是架构的构成元素。对于基于服务的架构,这些构成元素通常被称为服务(或者服务组件)。不管组件带上什么标签,当创建一个架构时,你都需要决定组件如何被共享、组件间如何通信、多个组件如何被整合起来完成业务请求以及如何从远程服务用户的位置访问他们。 为这些问题做出决定并不是件容易的事情,这就是为什么需要了解架构模式的原因。每种架构模式都有独特的拓扑结构用来定义架构的形状和一般属性,包括组
架构师研究会
2018/04/09
7720
微服务与SOA架构(3)
分布式任务调度框架和微服务的区别
分布式大行其下的时代,让大家彻底的抛弃了传统陈旧的技术框架。几乎每一个技术人都知道和掌握了微服务架构,微服务自然有它的美,但是所以技术框架都必须服务于业务,结合自身业务选取甚至自研适合自身的技术框架也是技术人必须首先考虑的事情。分布式作业调度框架,是一个开发迅速、学习简单、轻量级、易扩展、高可用分布式任务调度框架。
程序大视界
2022/09/22
8690
分布式任务调度框架和微服务的区别
应用技术架构 —— 单体架构 & 垂直架构 & SOA 架构
1968 年的软件危机产生了软件工程,并且催生了面向对象的高级语言,例如 1972 的 C 语言,同时产生了我们的单体式的技术架构,单体架构的特点是所有代码逻辑都耦合在一个项目中。
腾讯云 CODING
2022/03/16
5.9K0
应用技术架构 —— 单体架构 & 垂直架构 & SOA 架构
数据资产治理-元数据采集那点事
数据资产治理(详情见:数据资产,赞之治理)的前提要有数据。它要求数据类型全、量大,并尽可能多地覆盖数据流转的各个环节。元数据采集就变得尤其重要,它是数据资产治理的核心底座。
用户1278550
2020/12/31
2.9K0
数据资产治理-元数据采集那点事
微服务入门学习:SpringCloud、SOA、集群、分布式学习
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
程序员洲洲
2024/06/07
1460
微服务入门学习:SpringCloud、SOA、集群、分布式学习
Whosbug 2021项目日志
whosbug经手了多个团队的近20人,历史团队中:大家分别负责插件和数据流转的设计实现和优化、责任归属算法的设计实现与优化、antlr语法AST分析的多语言适配实现以及项目协同的管理;当前主要由kevineluo和kevinmatthe负责维护以及开源相关的规划,同时开源团队也有其它8位同学一起协作共建
Kevinello
2022/09/16
3730
SOA/软件架构设计—面向服务的架构(SOA详细解释)「建议收藏」
迄今为止,对于面向服务的架构(Service-Oriented Architecture,SOA)还没有一个公认的定义。许多组织从不同的角度和不同的侧面对 SOA 进行了描述,较为典型的有以下三个:
全栈程序员站长
2022/09/15
25.2K1
SOA/软件架构设计—面向服务的架构(SOA详细解释)「建议收藏」
给公司部门设计的SOA架构
新来老大年前开会说各位同学,公司业务越来越重,未来几年要成倍增长......,要梳理出一套新架构,才能更好的支持N万用户.....,以后升职加薪当上....打败..... 想想还有点小激动呢,于是过年时楼主趁等待相亲妹纸无聊的时候,反思了目前系统现状,构思设计新架构如下。 现有系统 鄙司业务比较重,系统也有些年头,各研发团队、系统都比较稳定了。所以不差也不太好,总之也能满足现有需求。但近2年O2O,移动互联网等大行其道,老大们也都心动了,开始磨刀霍霍了。而现有系统应对复杂的变化,在一些地方颇显不足: 接口
蘑菇先生
2018/05/21
9820
层次风格SOA-架构师之路(十)
本质还是0客户端,利用高速互联网(4g5g)快速实现本地插件缓存,增强页面交互,比如小程序。
用户9919783
2023/09/05
4830
层次风格SOA-架构师之路(十)
Libra与数字人民币(上)
2019年6月由Facebook主导的加密货币项目Libra横空出世,引起整个金融世界的紧张,数字货币也成为当年最热门的词语之一,下面我们将对Libra进行介绍和分析。
一个无聊的人
2022/08/26
4540
Libra与数字人民币(上)
微服务架构云端应用
微服务架构(Microservices Architecture)是一种架构风格和设计模式,提供将应用分割成一系列细小的服务,每个服务专注于单一业务功能,运行于独立的进程中,服务之间边界清晰,采用轻量级通信机制相互沟通、配合来实现完整的应用,满足业务和用户的需求。(引用自http://www.csdn.net/article/2015-07-20/2825258) 微服务的优点: 可独立部署、升级、替换、伸缩 自由选择开发语言 高效利用资源 故障隔离 总结下来就是:灵活、稳定、省资源。 微服务的缺点: 服
Rainbond开源
2018/05/31
1.5K0
电磁兼容(EMC)设计如何融入产品研发流程
如何使自己的产品满足相应市场中电磁兼容(EMC)标准要求,从而快速低成本的取得相关认证,顺利的进入目标市场?这是每一个向国际化转型公司研发都会面临的问题与困惑,各个企业产品研发部门面临着巨大挑战。
用户11339509
2024/11/26
1280
五个原则下的数据质量建设之道
在数字化转型的背景下,数据是一把双刃剑,它能给企业带来业务价值的同时也是组织最大的风险来源。糟糕的数据质量常常意味着糟糕的业务决策,将直接导致数据统计分析不准确、监管业务难、高层领导难以决策等问题。
yuanyi928
2023/01/11
7560
为什么数字化让企业变成行业的大秦帝国
为啥本人把数字化比作秦国的商鞅变法呢?数字化不单单是软件的问题,数字化也是制度建立问题,数字化=管理思想+管理制度+软件固化+持续优化,软件是工具,工具本身不能解决企业管理和效率问题,正确的人使用正确的工具 可以。
用户5829239
2023/01/14
2830
为什么数字化让企业变成行业的大秦帝国
【软件测试系列二】《软件测试流程规范》
测试团队刚成立,测试工作还没有形成一个完善的体系,为此编写此文档,旨在规范测试流程,明确产品各个阶段的测试工作,逐渐形成一个完善的测试体系,真正实现对产品质量的保证。
再见孙悟空_
2023/09/19
1.8K0
【软件测试系列二】《软件测试流程规范》
【SDL最初实践】安全设计
“为了减少产品设计带来的安全隐患,避免后续发现问题时,对功能实现流程甚至程序架构大刀阔斧改动带来高昂代价。在产品设计阶段,需要加入必要的安全活动,减少并消除产品安全隐患,纵深提升业务安全能力。”
aerfa
2019/11/08
1.9K0
【SDL最初实践】安全设计
相关推荐
微服务与SOA架构(2)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档