软考架构-面向服务的架构风格

一、SOA

1、概念

面向服务开发,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。多个服务挂载在ESB(企业服务总线)上进行通信。

2、特征

可从企业外部访问、随时可用(服务请求能被及时响应)、粗粒度接口(粗粒度提供一项特定的业务功能,细粒度服务代表技术构件的方法)、服务分级、松散耦合(服务提供者和服务使用者分离)、可重用的服务及接口设计管理、标准化的接口(WSDL/SOAP/XML是核心)、支持各种消息模式、精确定义的服务接口。

构件-可独立部署的功能单元(对象、接口、服务等),概念比较广

3、关键技术

|--------|-------------------|
| 功能 | 协议 |
| 发现服务 | UDDI、DISCO |
| 描述服务 | WSDL、XML、Schema |
| 消息格式层 | SOAP、REST |
| 编码格式层 | XML(DOM、SAX) |
| 传输协议层 | HTTP、TCP/IP、SMTP等 |

UDDI(Universal Description Discovery and Integration):是一套基于WEB的、分布式的、为WebService提供的、信息注册中心的实现标准规划。用于WEB服务注册统一描述、发现和集成。

WSDL(WebService描述语言):用户描述服务

SOAP(简单对象访问协议):用于交换XML编码信息的轻量级协议、用于传递信息、服务远程调用

XML:是WebService平台中表示数据的基本格式,用于数据交换

4、Web Service

服务提供者、服务注册中心、服务请求者。服务提供者将服务描述发布到服务注册中心,供服务请求者调用。

5、服务注册表

服务注册:服务提供者在注册中心发布服务

服务位置:服务在注册中心的位置

服务绑定:服务请求者利用检索到的服务接口编写代码,代码与注册的服务绑定,调用注册的服务,实现交互

6、企业服务总线ESB

集成不同协议的不同服务,ESB做了消息转化、解释以及路由的工作,以此来让不同服务互联互通

包括:客户端(服务请求者)、基础架构服务(中间件)、核心集成服务(提供服务)

特点:

总线作用,将各种服务进行连接与整合

服务元数据和服务注册管理

服务请求者和提供者之间传递数据,以及对这些数据进行转换

发现、路由、匹配和选择的能力

相关推荐
Lei活在当下5 小时前
【业务场景架构实战】4. 支付状态分层流转的设计和实现
架构·android jetpack·响应式设计
架构师沉默8 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
kfyty72512 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
刘立军13 小时前
本地大模型编程实战(33)用SSE实现大模型的流式输出
架构·langchain·全栈
一直_在路上14 小时前
Go 语言微服务演进路径:从小型项目到企业级架构
架构·go
智能化咨询17 小时前
Kafka架构:构建高吞吐量分布式消息系统的艺术——进阶优化与行业实践
分布式·架构·kafka
七夜zippoe17 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
青鱼入云19 小时前
【面试场景题】支付&金融系统与普通业务系统的一些技术和架构上的区别
面试·金融·架构
gtGsl_19 小时前
深入解析 Apache RocketMQ架构组成与核心组件作用
架构·rocketmq·java-rocketmq
SmartBrain1 天前
DeerFlow 实践:华为IPD流程的评审智能体设计
人工智能·语言模型·架构