SOA 微服务 RPC WebService Soap关系详解

一文带你了解SOA接口测试 了解汽车电子行业的人,近几年可能经常见到一个词“SOA”,那SOA具体是什么?作为测试人员应该要测试哪些内容呢?这篇文章就简单给大家介绍一下。SOA(Service Oriented Architecture)是一种面向服务的架构,最早应用于IT行业,虽然行业内对于SOA的定义没有一个统一的描述,但是总体而言,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。在汽车领域,对于高性能计算平台而言,为了实现域控制器以及区域控制器之间的互联互通和软硬分离、缩短开发周期等优势,也引入了SOA的 阅读详情

SOA、RMI、RPC、Rest、RestFul、Soap、WebService详解

目录

一、SOA是什么?

SOA的应用场景:

SOA主要的使用场景:   ​

数据总线是什么?

SOA最显著的优势:

SOA与微服务架构的区别:

二、WebService是什么?

(1) SOAP:

(2)WSDL

(3)UDDI

三、什么是RPC?

RPC工作原理:

JAVA能够使用的远程调用技术:

四、什么是RMI?

五、什么是Rest?


 

一、SOA是什么?

        SOA本质是一种组件模型。下面看一下百度的定义:

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

SOA的应用场景:

(1)一开始我们的系统可能是这样的:

                           

        当我们的项目比较小时,我们只有一个系统,并且把他们写到一起,放在一个服务器上,但是随着平台越来越大,数据量越来越大,我们不得不通过分库,把多个模块的数据库分别放在对应得服务器上,每个模块调用自己的子系统即可。

                             

       随着我们系统的进一步复杂度的提示,我们不得不进一步对系统的性能进行提升,我们将多个模块分成多个子系统,多个子系统直接互相调用(因为SOA一般用于大型项目,比较复杂,所以一般总系统不会再集成,会拆分多个,分别做成服务,相互调用)。当我们的电商UI进行一个下订单的任务时,多个服务直接互相调用,系统通过数据总线,分别调用对于的子系统即可。

     企业数据总线:企业数据总线不是对多个子模块的集成,他在这里充当数据通道的作用,数据总线不关心业务,数据总线根据给的地址和协议去调服务,上端不关心服务在哪里是什么,只找数据总线。

     上面几个图应该算是比较清楚了,随着业务的深入,我们不得不对系统进行调整,分别是对数据和业务的拆分,最后每个子系统对面提供服务。

SOA主要的使用场景:   

通过上面的图我们可以看出,多个子系统直接相互交互,相互调用非常凌乱,这样我们就很不爽,所以我们就用到了我们的SOA架构,SOA又叫服务治理,SOA就是帮助我们把服务之间调用的乱七八糟的关系给治理起来,然后提供一个统一的标准,把我们的服务治理成下图所示,以前我们的服务是互相交互,现在是只对数据总线进行交互,这样系统就变得统一起来。

统一标准:各系统的协议、地址、交互方式。

新的交互方式:各个系统分别根据统一标准向数据总线进行注册,各子系统调用其他子系统时,我们并不关心如果找到其他子系统,我们只招数据总线,数据总线再根据统一标准找其他子系统,所以数据总线在这里充当一个只路人的作用。

数据总线是什么?

       其实我在上面写了,数据总线是起到调度服务的作用,数据总线不是集成服务,数据总线更新一个调度框架,每个服务需要根据约定向数据总线注册服务,那么如何注册那?其实数据总线就像一个字典结构,

      数据总线里面一个key对于一个value,key指的是服务名,value则是服务的调度方式,还有一点需要说明的是,数据总线只是指路人,服务是不经过数据总线的,如上图的黄色线的路径。

     数据总线通过域名解析实现:一个域名绑定多台服务器,ajax也可以,dns也可以,解析域名嘛。

     其实数据总线还有一些高级应用,比如心跳检测,实现负载均衡等等,就不细说了,目前应用数据总线的有阿里的dubbo,还有zookeeper,以及Spring Cloud的Eureka

SOA最显著的优势:

(1)SOA具有低耦合性特点,业务伙伴对整个业务系统的影响较低

(2)SOA与平台无关,减少了业务应用实现的限制

更深入理解SOA,请看这篇文章:https://www.cnblogs.com/renzhitian/p/6853289.html

SOA与微服务架构的区别:

        从下面一张图基本可以看出微服务架构的区别:

                      

我觉得SOA与微服务的区别在于如下几个方面:

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

               

二、WebService是什么?

            关于WebSerivce和Soap的发展历史,可以看一下这篇文章:https://blog.youkuaiyun.com/cxboyee/article/details/77802849

我们看看百度百科对WebService的定义:

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 [1] 

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

所以WebService是一种技术,比如可以让使用.NET开发的应用程序调用使用Java开发的应用程序的接口,互相交换数据或集成,或者反过来。

所以只要是能够平台独立,无关语言,无关操作系统,基于XML作为数据交换格式的应用程序都可以叫做Web Service。

要实现Web Service,需要一套协议来支持(WebService三要素:SOAP、WSDL、UDDI):

(1) SOAP:

          SOAP(Simple Object Access Protocol:简单对象访问协议)是微软、IBM等大公司联合制定的一个协议规范。SOAP是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

(2)WSDL

           Web Service描述语言WSDL,用于描述Web Service及其函数、参数和返回值(也就是描述如何访问具体的接口)。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

(3)UDDI

          UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。(简单一句话概括就是:用来管理,分发,查询webService)

 

三、什么是RPC?

             简单来说:SOAP=HTTP+XML,HTTP是基于TCP的超文本传送协议。

             RPC(remote procedure call:远程过程调用):简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。

  • RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯)
  • RPC 是一个请求响应模型。客户端发起请求,服务器返回响应(类似于Http的工作方式)
  • RPC 在使用形式上像调用本地函数(或方法)一样去调用远程的函数(或方法)

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

RPC工作原理:

运行时,一次客户机对服务器的RPC调用,其内部操作大致有如下十步:

RPCæ¡æ¶

1.调用客户端句柄;执行传送参数

2.调用本地系统内核发送网络消息

3.消息传送到远程主机

4.服务器句柄得到消息并取得参数

5.执行远程过程

6.执行的过程将结果返回服务器句柄

7.服务器句柄返回结果,调用远程系统内核

8.消息传回本地主机

9.客户句柄由内核接收消息

10.客户接收句柄返回的数据

JAVA能够使用的远程调用技术:

  • 远程方法调用(Remote Method Invocation,RMI)

  • Caucho的Hession和Burlap(Hession是二进制协议,而Burlap是基于XML的)

  • Spring基于HTTP的远程服务HttpInvoker

  • 使用JAX-RPC和JAX-WS的Web Service(基于SOAP的web服务)

注意:RPC都是同步返回技术,也就是说程序会一直等待,直到超时或者得到返回结果。JMS(具体实现有ActiveMQ等),AMQP(具体实现有RabbitMQ等)才是异步返回技术

不管我们使用哪种远程调用技术,Spring为使用这几种不同的技术访问和创建远程服务都提供了广泛的支持。

 

四、什么是RMI?

        RMI是Java最初的远程方法调用技术。RMI最初在JDK1.1被引入到Java平台中,它为Java开发者提供了一种强大的方法来实现Java程序间的交互。在RMI之前,对于Java开发者来说,远程调用的唯一选择就是CORBA(在当时,需要购买一种第三方产品,叫做Object Request Broker[ORB]),或者手工编写Socker程序。

    但是开发和访问RMI服务是非常乏味无聊的,它涉及到好几个步骤,包括程序的和手工的。Spring简化了RMI模型,简化了RMI的使用。

如果你曾经创建过RMI服务,应该会知道这会涉及如下几个步骤:

1.编写一个服务实现类,类中的方法必须抛出java.rmi.RemoteException异常;

2.创建一个继承于java.rmi.Remote的服务接口;

3.运行RMI编译器(rmic),创建客户端stub类和服务端skeleton类;

4.启动一个RMI注册表,以便持有这些服务;

5.在RMI注册表中注册服务。

哇!发布一个简单的RMI服务需要做这么多的工作。除了这些必需的步骤外,你可能注意到了,会抛出相当多的RemoteException和MalformedURLException异常。虽然这些异常通常意味着一个无法从catch代码块中恢复的致命错误,但是我们仍然需要编写样板式的代码来捕获并处理这些异常——即使我们不能修复它们

这些步骤和原生的jdbc一样难用。。。。不能重复造轮子,所以用Spring吧。

RMI是一种实现远程服务交互的好办法,但是RMI有一些缺点和不足:

  • RMI很难穿越防火墙。因为RMI使用任意端口来交互——这是防火墙通常所不允许的。如果是内网,就不需要担心这个问题。如果是在互联网上运行,这就麻烦了。

  • RMI是基于JAVA的,使用了JAVA的序列化机制,所以通过网络传输的对象类型必须要保证在调用两端的Java运行时中是完全相同的版本。所以就意味着客户端和服务端都必须使用JAVA来开发才行。这就是一个限制了。

 

五、什么是Rest?

  • REST全称:Representational State Transfer。Rest不是协议也不是规范,而是一种接口、服务、系统之间通讯的风格。

  • REST可以用来替代传统的SOAP Web服务。SOAP一般会关注行为和处理(比如RMI,Hessian,Spring的HttpInvoker,jaw-xs,知名的XFile(新的如CXF)、Axis1、Axis2 等等),而REST关注的是要处理的数据。

  • REST与RPC几乎没有任何关系。RPC是面向服务的,并关注于行为和动作;而REST是面向资源的,强调描述应用程序的事物和名词。REST就是将资源的状态以最适合客户端或服务端的形式从服务器端转移到客户端(或者反过来)。

  • 在REST中,资源通过URL进行识别和定位。

举个栗子:

Marcus是一个农民,他有4头牛,12只鸡和3头奶牛。他现在模拟一个REST API,而我是客户端。如果我想用REST来请求当前的农场状态,我仅会问:“State?”Marcus会回答:“4头猪、12只鸡、3头奶牛”。

这是REST最简单的一个例子。Marcus使用表征来传输农场状态。表征的句子很简单:“4头猪、12只鸡、3头奶牛”。
再往下看,看我如何让Marcus用REST方式添加2头奶牛?
按照常理,可以会这样说:Marcus,请在农场你再添加2头奶牛。难道这就是REST方式吗?难道就是通过这样的表征来传输状态的吗?不是的!这是一个远程过程调用,过程是给农场添加2头奶牛。
Marcus很愤怒地响应到:“400,Bad Request”,你到底是什么意思?
所以,让我们重新来一次。我们怎样做到REST方式呢?该怎样重新表征呢?它应该是4头猪、12只鸡、3头奶牛。好,让我们再次重新表征……
我:“Marcus,……4头猪、12只鸡、5头奶牛!”
Marcus:“好的”。
我:“Marcus,现在是什么状态?”
Marcus:“4头猪、12只鸡、5头奶牛”。
我:“好!”
看到了吗?就这样简单。

为什么RPC也不够好?
从逻辑角度来看,为什么会更加青睐REST而不是RPC(Remote Procedure Call,远程过程调用 ),因为它极大的降低了我们沟通的复杂度,通过把表征作为唯一的沟通的方式。无需去讨论过程(添加一头牛?增加一种动物类型?给鸡的数量翻倍还是卖掉所有猪?)我们只需讨论表征,并且使用这个表征来达到我们想要的目标,很简单,不是吗?我不希望和Marcus的沟通失败,因为我们彼此的理解过程会不一样,所以只需要知道最后的状态就行。但这仅仅是创建RPC会产生许多问题之一。如果你使用RPC,你需要设计一些程序嵌入到某种结构中。这种结构需要存储参数、错误的代码、返回值等。

 

总结:

       SOA和微服务架构都是一种组件模型,一种架构方式,不依赖于任何技术,因此SOAP、RPC、REST是对SOA和微服务架构的组件或服务之间通信方式的不同实现。

 

参考资料:

https://blog.youkuaiyun.com/silencecarrot/article/details/52468521

 

 

 

 

 

 

 

 

 

 

Spring Boot集成webservice快速入门demo WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。 阅读详情

相关推荐

SOAP webserivce 和 RESTful webservice 对比及区别

基于REST的软件体系结构风格(Software Architecture Style)称之为面向资源体系架构(Resource-oriented Architecture,ROA)。按照REST原则设计的软件、体系结构,通常被称为“REST式的”(RESTful),在本文中以下称之为 RESTful Web服务,以便于和基于SOAP的Web服务区别。 

SOAP WebService和RestFul 的区别

一、WebService涉及的相关概念: 1、Soap:简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,由Dave Winer, Don Box,Bob Atkinson, Mohsen Al-Ghosein于1998年设计,当时只作为一种对象访问协议。现在SOAP采用了已经广泛使用的两个协议:HTTP 和XML(标准通用标记语...

gaotiedun1的博客 4138

python 抖音采集_python爬取抖音视频的实例详解

import requestsimport jsonimport reimport osfrom pprint import pprint as ppimport queueclass DouYin:header = {'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*...

weixin_35795675的博客 1864

SOA、微服务结构、RMI、RPC、Rest、RestFul、Soap、WebService详解

SOA、RMI、RPC、Rest、RestFul、Soap、WebService详解 目录 一、SOA是什么? SOA的应用场景: SOA主要的使用场景:   ​ 数据总线是什么? SOA最显著的优势: SOA与微服务架构的区别: 二、WebService是什么? (1) SOAP: (2)WSDL (3)UDDI 三、什么是RPC? RPC工作原理: JAVA能够使用...

u011474078的博客 1万+

(92页PPT)某大型集团信息化项目企业数字化转型ERP系统蓝图设计规划方案(附下载方式)

同时,外贸获利空间被严重挤压,必须从价格竞争转向品牌竞争。该方案针对某大型外贸集团在数字化时代的转型需求,提出了一套完整的ERP系统建设框架和实施路径,具有很高的专业参考价值。特别值得关注的是方案提出的"价值为先"指导思想,通过将企业价值图与信息系统建设紧密结合,确保IT投资直接支撑价值创造。同时,方案充分考虑了集团多元化、国际化的发展需求,设计了灵活可扩展的系统架构。总的来说,这份实施方案专业性强、内容全面、措施具体,既立足解决当前问题,又着眼未来发展需求,为大型集团企业的数字化转型提供了优秀范本。

AI_data_cloud的博客 1026

PDS联合Modelsim仿真报错(Error loading design) line6报错 -novopt已禁用 (全网最详细!!!!!)

发现这个文档是Pango自动生成的,也就是说每一次我们点击"Run Behavior Simulation"的时候,PDS都会自动生成一次这个./run_behav_simulate.tcl文件,所以就算我们这一次把这个文件修改了,我点击"Run Behavior Simulation"想让它再跑一次正确的仿真,它此时又重新生成了这个带有-novopt的错误tcl文件,仿真依旧不能成功。问题真的是出在这里,那我们修改这个./run_behav_simulate.tcl文件就好了,但事实并非如此!

weixin_74058783的博客 3191

SOA面向服务架构

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34252686的博客 501

STM32F407硬件SPI驱动ADS1220避坑指南:从寄存器读不到数据到采样值异常的完整解决流程

本文详细解析了STM32F407硬件SPI驱动ADS1220的常见问题与解决方案,包括SPI配置、寄存器读取异常、采样值优化等关键环节。通过CubeMX配置技巧和Keil调试经验,帮助开发者快速排查从通信失败到数据异常的各种问题,实现高精度数据采集系统的稳定运行。

weixin_26878995的博客 157

SOA、RMI、RPC、Rest、RestFul、Soap、WebService 详解

目录SOA 是什么?SOA 的应用场景:SOA 主要的使用场景:数据总线是什么?SOA 最显著的优势:SOA 与微服务架构的区别:WebService 是什么?SOAP:WSDLUDDI什么是 RPC?RPC 工作原理:JAVA 能够使用的远程调用技术:什么是 RMI?什么是 Rest? SOA 是什么? SOA 本质是一种组件模型。下面看一下百度的定义: 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行

Forevermark的博客 843

【Bluetooth蓝牙开发】十一、一文秒懂 | 超详细的Bluez交叉编译

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 3976

AUTOSAR从入门到精通-复杂设备驱动(CDD)

CDD是复杂设备驱动的首字母缩写主要为驱动程序或复杂驱动程序,但不限于驱动程序。复杂驱动程序是一种未被AUTOSAR标准化的软件实体,可以通过AUTOSAR接口和/或基本软件模块api访问。 CDD是位于基础软件复杂驱动层的特定模块,与标准BSW模块或Rte交互。 CDD可能需要与分层软件体系结构的模块连接 分层软件架构的模块可能需要连接到CDD CDD可能需要通过Rte连接swc。

getusushu的博客 4192

Http,Https,Restful,Webservice,WebSocket,Rpc,Rmi,SOA,分布式,微服务,集群等概念

文章目录前言HTTP协议和HTTPS协议,RESTFUL接口WebSocketWebserviceRPC和RMIAPI和SDKSOA和微服务分布式和集群,负载均衡 前言 在JAVA开发学习过程当中,总是会接触到很多概念性的名词。特此简单的总结记录一下相关名词对应的概念。 HTTP协议和HTTPS协议,RESTFUL接口 HTTP协议:是Hyper Text Transfer Protocol(超文...

光滑的秃头 2075

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

weixin_42162924的博客 33

SOA、微服务结构、RMI、RPC、Rest、RestFul、Soap、WebService概念理解

一、SOA是什么?         SOA本质是一种组件模型。下面看一下百度的定义: 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言(与平台无关,与语言无关,与操作系统无关)。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式...

呼吸的小鱼博客 668

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SOA RPC SOAP REST

web service顾名思义这是一种提供service的形式,而且只能通过http(web)来提供service(web service三要素:SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)) SOA也就是面向服务的架构,那么这个架构如何提供服务,他不是web...

gin11111的博客 452

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Restful、RPC、SOAP、SOA、微服务的区别

Restful、RPC、SOAP、SOA、微服务的区别 Restful Restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的应用程序或设计就是 Restful架构或服务。 主要的设计原则: 资源与URI 统一资源接口(HTTP方法如GET,PUT和POST) 资源的表述 资源的链接 状态的转移 总之,RESTful的核心就是后端将资源发布为URI,前端通过URI访问资源,并通过HTTP动词表示要对资源进行的操作。 RPC RPC就是从一台机器(客户端)上

weixin_47691902的博客 520

SOA,SOAP,RPC,以及 RPC协议与 REST 协议之间的关系(搜狗)

web service顾名思义这是一种提供service的形式,而且只能通过http(web)来提供service(web service三要素:SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)) SOA也就是面向服务的架构,那么这个架构如何提...

356

SOA以及webService

SOA (将原有系统拆分成若干个服务,服务之间通过接口进行调用) 分布式 分而治之的思想 SOA即面向服务架构 SAAS PAAS 服务化之后的系统 RPC RPC即远程过程调用(两个不同的进程通过网络进行调用),是一个概念 RPC可以基于多种网络协议,又很多种实现(http、dubbo、hessian thrift avro) RPC有三要素 socket 动态代理 序列化 RPC的常用技术...

weixin_42275175的博客 794

SOA和微服务架构的区别

一、架构的发展历程 1. 传统架构 2. 分布式架构 聚合项目是不是分布式项目?不一定 3.SOA架构 SOA架构的特点: 底层基于SOAP(即底层使用Http/Https协议+重量级XML数据交换格式进行通讯)(RPC的一种)和ESB(企业消息总线)实现。 SOA的调用一般比较复杂:基于RPC的WebService(基于SOAP) ESB: 将点对点的...

krismile__qh的博客 661

理论篇:SOA/RPC/MSA—Spring Cloud

理论篇:SOA/RPC/MSA—Spring Cloud 序列化和RPC框架 早期的序列化协议:COM和CORBA。其中COM仅用于Windows平台,CORBA是跨平台 跨语言的序列化协议,版本和兼容性导致主键消亡。 主流序列化协议: - - 优点 缺点 应用 XML 序列化协议 跨平台、跨语言 冗长复杂 小数据量,不适合ms级性能要求 JSON 序列化协议 跨平台、跨语言、可读性好 空间开销大 小数据量,不适合ms级性能要求 FackBook Thrift 序列化协议RPC框架

xl十一的博客 394

架构解密从分布式到微服务:从 RPC到服务治理框架

下面给出了Dubbo的原理概念图,可以看出,相对于SOA架构,在 Dubbo的服务治理框架中最大的一个亮点是增加了服务监控这个必要的运维特性。在使用RMI时,我们所开发的“远程对象”(Remote Object)都需要被注册(Binding)到Registry里,客户端(Client〉则首先需要通过Registry 的接口查询到远程对象的访问地址,然后才能发起对远程对象的“远程过程调用”,将这种模式表达为更抽象的模型,就是如下图所示的服务注册和服务发现的通用模型。

2401_83384536的博客 414

WebService 与 REST 的区别

风格优点缺点适用场景协议独立性强,具有严格的规范和安全性扩展,支持 ACID 事务。消息体积大,传输慢,实现复杂,客户端需处理复杂的 XML 结构。金融交易、遗留系统集成、要求强安全性和事务保证的企业级应用。REST轻量、快速、易于实现和调试,可充分利用现有 Web 基础设施(如缓存)。安全性和事务管理需额外实现,缺乏统一的官方标准。移动应用、Web 应用的前后端分离公共 API开放、微服务架构。在当前的互联网开发中,由于其轻量、高效和易用的特点,已经成为构建新服务的主流选择。

weixin_52236586的博客 996

WebService不流行的原因

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33928467的博客 2524

关于WCF、WebAPI、WebService之间的区别总结 分布式通信技术

早在1996年Gartner就前瞻性地提出了面向服务架构的思想(SOA),SOA 的走红在很大程度上归功于 Web Service 标准的成熟和应用的普及。Service...

dotNET跨平台 769
上一篇: 运行错误:No fallback instance of type class found for feign client
下一篇: JVM常见参数
暗夜荆棘鸟
博客等级 码龄12年 9粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值