面向服务架构设计理论与实践

SOA 与微服务的区别

(1)微服务相比于 SOA 更加精细,微服务更多地以独立的进程的方式存在,互相之间并无影响。
(2)微服务提供的接口方式更加通用化,例如 HTTP RESTful 方式,各种终端都可以调用,
无关语言、平台限制。
(3)微服务更倾向于分布式去中心化的部署方式,在互联网业务场景下更适合。

SOA架构以ESB链接各个子系统,是集中式的技术架构,应用服务间相互依赖导致部署复杂,应用间交互使用远程通信,降低了响应速度。
微服务架构是SOA架构的进一步优化,去除了ESB,是去中心化的分布式架构,降低了微服务之间的耦合程度,不同的微服务采用不同的数据库技术,服务独立,数据源唯一,应用极易扩展和维护,同时降低了系统复杂度。

SOA 主要协议和规范

Web 服务最基本的协议包括 UDDI、WSDL、SOAP
(1)UDDI 协议:统一描述、发现和集成协议。包含了服务描述与发现的标准规范,它使得商业实体能够彼此发现;定义它们怎样在 Internet 上互相作用,并在一个全球的注册体系架构中共享信息。
(2)Web 服务描述语言(WSDL):WSDL 是一个用来描述 Web 服务和说明如何与 Web 服务通信的 XML 语言。描述了 Web 服务的 3 个基本属性。
1)服务做些什么——服务所提供的操作(方法)。
2)如何访问服务——和服务交互的数据格式以及必要协议。
3)服务位于何处——协议相关的地址,如 URL。
(3)SOAP 协议:SOAP 是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML 的协议。
(4)REST 规范:为了让不同的软件或者应用程序在任何网络环境下都可以进行信息的互相传递。微服务对外就是以 REST API 的形式暴露给调用者。RESTful 即 REST 式的,是对遵循REST 设计思想同时满足设计约束的一类架构设计或应用程序的统称,这一类都可称为 RESTful。

标准

通信协议标准。SOA 服务用消息进行通信,该消息通常使用 XML Schema 来定义(也称作 XML Schema Definition,XSD)。

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

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

相关文章

SAP BSEG VS ACDOCA 差异

温习一下 ACDOCA VS BSEG matinal:S4 HANA 详解ACDOCA与BSEG的区别都在这了_sap acdoca-CSDN博客

【PDF技巧】PDF如何解密?

PDF文件设置了加密,需要密码才能够打开文件或者编辑文件,那么如何解密PDF密码?今天我们来一起学习一下。 首先是在已知密码的情况下,PDF文件中的打开密码或者是限制编辑,想要解密PDF密码,我们只需要在PDF编…

C++ STL概念之 序列式容器3(string)

string 常用接口 operator string (1) string& operator (const string& str);c-string (2) string& operator (const char* s);character (3) string& operator (char c);initializer list (4) string& operator (initializer_list<char> il); …

网站DDoS攻击应对策略:全面防护与恢复指南

随着互联网的发展&#xff0c;网络安全问题日益凸显&#xff0c;其中DDoS&#xff08;分布式拒绝服务&#xff09;攻击成为了网站安全的主要威胁之一。当网站遭受DDoS攻击时&#xff0c;可能会面临服务中断、性能下降、数据泄露等严重后果。因此&#xff0c;了解并掌握DDoS攻击…

达梦(DM) SQL查询及联合查询

达梦DM SQL查询及联合查询 查询结果排序多表联合查询 这里继续讲解DM数据库的Sql查询操作 查询结果排序 为提高查询结果可读性&#xff0c;我们可以对查询结果按照一定顺序排列&#xff0c;或者也可以将列名替换成数字&#xff0c;例如 ORDER BY 1 DESC&#xff0c;意思是按第…

搭建域环境

文章目录 配置域控网络安装DNS服务安装域控新建用户新建域内机器 windows server 2008是基于windows vista开发的&#xff0c;windows server 2008 r2是基于Win 7开发的。域控为windows server 2008. 配置域控网络 在网络共享中心配置域控IP&#xff0c;这里设置域控IP为&…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第22课-烟花插件的制作

【WEB前端2024】开源智体世界&#xff1a;乔布斯3D纪念馆-第22课-烟花插件的制作 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引…

MATLAB公式推导和导出Latex格式的方法

最近在推机械臂正逆运动学公式&#xff0c;那个旋转矩阵乘起来是真滴多&#xff0c;手算算的脑浆疼。突然想起来MATLAB还有符号计算这个功能&#xff0c;于是翻了翻手册&#xff0c; 找到了这个利用MATLAB帮助计算公式并且直接导出Latex格式的办法。 先定义符号变量&#xff0…

计算机网络-路由策略与路由控制一

到目前为止我们学习了路由与交换基础&#xff0c;路由协议有静态、RIP、OSPF、IS-IS等&#xff0c;但是根据实际组网需求&#xff0c;往往需要实施一些路由策略对路由信息进行过滤、属性设置等操作&#xff0c;通过对路由的控制&#xff0c;可以影响数据流量转发。 因此我们开始…

uniapp 开启阿里云服务并开启unipush消息推送

本篇只是为了记录初次使用unipush服务的一些步骤 一、开启uniCloud云开发环境&#xff0c;新建阿里云服务 1、项目右键选择创建uniCload云开发环境&#xff0c;选择阿里云 2、在项目里面新创建的uniCloud文件夹右键选择关联云服务空间或项目&#xff0c;并点击新建 3、在服务…

排列三中奖概率分析

排列三中奖的概率分析主要取决于不同的投注方式。以下是针对排列三不同投注方式的中奖概率分析&#xff1a; 直选&#xff1a;排列三总共有1000个不同的号码组合&#xff0c;因此直选的中奖概率是1/1000。这意味着&#xff0c;如果你随机选择一个号码进行投注&#xff0c;你中…

整理php中可以使用多种方法对数组进行排序常用的函数

整理php中可以使用多种方法对数组进行排序常用的函数 常用函数示例代码 常用函数 sort() - 以升序对数组进行排序。 rsort() - 以降序对数组进行排序。 asort() - 以升序对关联数组进行排序&#xff0c;保持键/值关系。 arsort() - 以降序对关联数组进行排序&#xff0c;保持键…

深入理解指针(2)

在上一篇深入理解指针(1)中我们已经初步了解指针地址&#xff1b;指针的解引用&#xff1b;指针变量类型作用&#xff0c;指针运算等知识&#xff0c;接下来我们将继续学习指针的相关内容&#xff0c;一起加油吧&#xff01;&#xff01;&#xff01; 1. 数组名的理解 在之前的…

【计算机网络】HTTP协议详解实战抓包分析教程

文章目录 1.HTTP简介2.HTTP报文的结构3.HTTP协议中空行的作用4.uri和url的区别5.HTTP请求5.1 HTTP请求方法5.2 HTTP请求报头 6.HTTP响应6.1 状态码 7.HTTP位于应用层(基于TCP)8.非持久和持久连接8.1 非持久连接8.2 持久连接 1.HTTP简介 HTTP&#xff08;Hypertext Transfer Pr…

pandas style添加表格边框,或是只添加下边框等自定义边框样式设置

添加表格边框 可以使用如下程序添加表格&#xff1a; import dataframe_image as dfi import pandas as pd import numpy as npdf pd.DataFrame(np.random.random(size(10, 5))) df_style df.style.set_properties(**{text-align: center,border-color: black,border-width…

cubemx配置stm32f407VET6实现USB虚拟串口

背景&#xff1a; 最近做项目需要使用USB&#xff0c;一根数据线连接“mcu的板子”和“电脑”&#xff1b; 电脑上的串口助手通过USB线和mcu的USB通信&#xff1b; 原理图&#xff1a; 1&#xff09;外围电路2&#xff09;mcu引脚 软件实现&#xff1a; 1.cubemx配置USB_devic…

流程图用什么软件做?选择这4款,让工作事半功倍

流程图用什么软件做&#xff1f;流程图是一种直观、清晰的图形表示法&#xff0c;它通过节点、箭头和符号等元素&#xff0c;精确地展示出一系列步骤、决策点以及操作过程。这种图形化的呈现方式不仅简化了复杂信息的处理&#xff0c;还使得读者能够迅速把握整体流程&#xff0…

Day54代码随想录动态规划part15:392.判断子序列、115.不同的子序列

Day54 动态规划part15编辑距离 392.判断子序列 leetcode链接&#xff1a;392. 判断子序列 - 力扣&#xff08;LeetCode&#xff09; 题意&#xff1a;给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些&#xff08;也可以不…

构建第一个ArkTS应用之@LazyForEach:数据懒加载

LazyForEach从提供的数据源中按需迭代数据&#xff0c;并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach&#xff0c;框架会根据滚动容器可视区域按需创建组件&#xff0c;当组件滑出可视区域外时&#xff0c;框架会进行组件销毁回收以降低内存占用。 接口…

上海交大携手阿里巴巴成立人工智能与系统联合实验室

5 月 8 日&#xff0c;上海交通大学电子信息与电气工程学院&#xff08;简称电院&#xff09;与阿里巴巴集团宣布共同成立人工智能与系统联合实验室&#xff08;后称“联合实验室”&#xff09;&#xff0c;并在上海交大闵行校区举行了揭牌仪式。 上海交大电院副院长王贺升教授…