大家好,又见面了,我是你们的朋友全栈君。
SOA(Service-Oriented Architecture),中文全称:面向服务的架构。
SOA 是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。
SOA 是一种思想,一种方法论,一种分布式的服务架构。
- SOA的用途
SOA解决多服务凌乱问题,SOA架构解决数据服务的复杂程度,同时SOA又有一个名字,叫做服务治理。
- SOA的基本特征
可从企业外部访问 随时可用 粗粒度的服务接口分级 松散耦合 可重用的服务
服务接口设计管理 标准化的服务接口 支持各种消息模式 精确定义的服务契约
- SOA的优缺点
- SOA的架构体系
- SOA是怎么用的?
SOA 把系统分离成不同的服务,使用接口来进行数据交互,最终达到整合系统的目的。
专业的词总是让人懵懵懂懂,看起来高大上,但就是不知道在BB什么…. 我们换种讲法。
很多开发人员,做系统的时候是这样合作的【反例】:
小明负责【考勤】,小王负责【薪资】。
小王说: 小明,我要用【考勤】数据,你做好了没?
小明说: 早做好了,表名叫Attenance, 字段A代表员工ID,字段B代表....自己去数据库查。
【所有业务模块都柔和在一起,很混乱】
相信很多人看到这种情景很熟悉, 数据交互完全通过数据库,模块件没有完全分离,错综复杂!用不了多久,你的系统就 会乱成一锅粥。对于后期的维护和升级简直就是灾难。
要说明一下,这种开发方式不符合SOA的理念,那么SOA是如何处理的呢?
1.考勤作为单独模块,成为一个考勤服务,发布了一个考勤数据接口(WebServices)
2.小王需要使用考勤数据,调用考勤服务的接口即可
【采用SOA以后的系统架构体系】
简洁明了,不涉及对底层数据库的反复操作,使业务 IT 系统变得更加灵活,以适应业务中的改变。
SOA又叫服务治理,SOA就是帮助我们把服务之间调用的乱七八糟的关系给治理起来,然后提供一个统一的标准,把我们的服务治理成下图所示,以前我们的服务是互相交互,现在是只对数据总线进行交互,这样系统就变得统一起来。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/124849.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...