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

news2024/11/13 1:39:31

一、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做了消息转化、解释以及路由的工作,以此来让不同服务互联互通

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

特点:

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2129310.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这款神器,运维绝杀 !!! 【送源码】

项目简介 CrowdSec 是一款开源的、基于社区协作的网络安全防护工具,它通过分析和共享IP信誉数据来对抗恶意行为。该软件不仅支持IPv6,而且相较于传统的Python实现,其采用Go语言编写,运行速度提升了60倍。CrowdSec 利用Grok模式解析…

Datasheet SHT20芯片的数据手册

Datasheet SHT20芯片的数据手册 I2C读取湿度传感器返回的16位数据。SCL SDA 14位有效,我以为是将后二位删除,实际上看完手册才知道是后二位值无用,不是删除,而是清0,实际上还是16为,知识后二位是0还是1&…

Java重修笔记 第五十四天 坦克大战(四)多线程基础

线程 当点击运行按钮运行程序时,就相当于启动了一个进程,虚拟机进入 mian 方法后会开启一个名为 mian 的主线程,main 方法体中创建一个线程对象,调用该线程对象的 start 方法又创建一个子线程,子线程的启动并不会阻塞…

2024/9/11学校教的响应式前端能学到什么?

9.11 1)砌砖 确定整体框架,而不是想到一点写一点,类似盖大楼,不是想到哪盖到哪,先砌砖,再装修 砌砖前先划分好砌砖范围(初始化样式) 清除body自带的内外边距 * { margin: 0; padding: 0; }去掉li的小圆点…

H5接入Steam 获取用户数据案例 使用 OpenID 登录绑定公司APP账户 steam公开用户信息获取 steam webapi文档使用

官方文档地址 1.注册 Steam API Key: 你需要一个 Steam Web API Key,可以在 Steam API Key 页面 获取。https://steamcommunity.com/dev/apikey 这里开发做demo用自己steam账户的就好,后续上线要用公司的账户 2.使用 OpenID 登录&#xff…

【c++实现】统计上升四元组

🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 🌈C专栏:C 文章目录 1. 题目描述2. 解释3. DP前缀和枚举 1. 题目描…

3.Kubernetes资源对象之pod

💂 个人主页: Java程序鱼 💬 如果文章对你有帮助,欢迎关注、点赞、收藏(一键三连)和订阅专栏 👤 微信号:hzy1014211086,想加入技术交流群的小伙伴可以加我好友,群里会分享学习资料、学习方法…

经典蓝桥题目-------欧拉函数的应用

输入样例&#xff1a; 3 4 9 5 10 42 9999999967 输出样例&#xff1a; 6 1 9999999966 分析&#xff1a; 设 gcd(a,m) d,则 d|a,d|m 而 gcd(a,m) gcd(ax,m) 则有 d|x 根据题目有 0<x<m 同样的有 0< x < m (x,m是同时除以d的值) 于是我们发现只要求…

IPD变革之道内涵是什么?何以与人工智能新技术融合

集成产品开发&#xff08;Integrated ProductDevelopment&#xff0c;IPD&#xff09;引入我国20余年&#xff0c;从探索、扎根到管理驱动&#xff0c;逐渐成为国内企业长存发展之共识。回溯IPD的由来和发展&#xff0c;IPD变革之道内涵是什么&#xff1f;何以与人工智能新技术…

DNS查询报文分析

目录 1. 用 tcpdump工具监听抓包 2. 用 host 工具获取域名对应的IP地址 3. 分析DNS以太网查询数据帧 3.1 linux下查询DNS服务器IP地址 3.2 DNS以太网查询数据帧 &#xff08;1&#xff09;数据链路层 &#xff08;2&#xff09;网络层 &#xff08;3&#xff09;传输层…

如何禁止电脑上某个软件运行?3种管理小白必懂的方法,你学废了吗?

在日常使用电脑的过程中&#xff0c;我们有时会遇到需要阻止某些软件运行的情况。 无论是出于节省资源、提升系统性能&#xff0c;还是为了保护隐私安全&#xff0c;掌握基本的软件管理技能都是非常必要的。 下面&#xff0c;我们就来探讨三种简单易行的方法&#xff0c;即使…

【BFS专题】— BFS解决FloodFill算法

1、 图像渲染 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 代码&#xff1a; class Solution {int[] dx {0,0,1,-1};int[] dy {1,-1,0,0};public int[][] floodFill(int[][] image, int sr, int sc, int color) {//统计刚开始[sr,sc]坐标位置的颜色int prev …

C++当中的多态(三)

&#xff08;六&#xff09;虚表的本质 其实我们大家应该都已经猜到了&#xff1a;我们虚表的本质就是一个函数指针数组。通过访问这个函数指针数组就可以得到我们想要的虚函数的地址&#xff0c;之后通过这个地址就可以调用我们相应的虚函数。我们这个函数指针数组是以nullptr…

开发者的噩梦:如何在抄袭狂潮中杀出一条血路?

开发者的噩梦&#xff1a;如何在抄袭狂潮中杀出一条血路&#xff1f; 作为一个独立开发者&#xff0c;辛辛苦苦打磨出的产品&#xff0c;一旦被别人抄袭&#xff0c;心中往往会涌现出无数的愤怒与无奈。看到自己的创意被别人肆意剽窃&#xff0c;并以此获利&#xff0c;谁能不…

【HTML】Html标签

目录 结构盒子div 标签语义化标签 文本p 段落标签h 标题标签span 行内标签a 超链接标签br 换行标签、hr水平线标签sub 下标字、sup 上标字strong 或 b 加粗、em 或 i 斜体、del 或 s 删除线、ins 或 u 下划线 列表ul 无序列表ol 有序列表dl 自定义列表列表嵌套 表格table 标签合…

【Gateway】网关服务快速上手

微服务的接口都是直接对外暴露的,可以直接通过外部访问,为了保证对外服务的安全性服务端实现的微服务接口通常都带有一定的权限校验机制,由于使用了微服务,原本一个应用的的多个模块拆分成了多个应用,我们不得不实现多次校验逻辑,当这套逻辑需要修改时,我们需要修改多个应用,加…

【4.2】图搜索算法-DFS和BFS解单词拆分

一、题目 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict&#xff0c;判定 s 是否可以被空格拆分 为一个或多个在字典中出现的单词。 说明&#xff1a; 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1&#xff1a; 输入: s "le…

【2024-09-12】某极验4流程分析-滑块验证码

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、流程分析三、参数分析三、代码一、前言 极验四代滑块没有了滑动轨迹的验证,来看一下 网址:aHR0cHM6Ly9n…

机器学习中的内存优化

随着机器学习模型的复杂性不断增加&#xff0c;内存使用量也随之增长&#xff0c;因此&#xff0c;内存优化变得尤为重要。 机器学习内存足迹 机器学习模型通常由数据结构如张量和矩阵组成。例如&#xff0c;一个形状为(1000, 1000)&#xff0c;每个元素为32位浮点数的二维张量…

TypeScript中 any和unknown 的区别

1、给其他变量赋值 any可以给其他类型的变量重新赋值&#xff1b; 但unknown是不行的&#xff0c;unknown 可以保持类型安全&#xff0c;从而减少潜在的错误&#xff1b; 2、使用类型上的方法 any可以用类型上的方法&#xff0c;unknown是不可以的