分布式.远程调用技术概述

发布于:2023-01-11 ⋅ 阅读:(428) ⋅ 点赞:(0)

系列博文:

分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客

分布式.RPC-WebService三要素,三个规范, Soap协议_闲猫的博客-CSDN博客

分布式.RPC-WebService入门案例(java实现,注解实现,xsd文件解析,wsdl文件解析)_闲猫的博客-CSDN博客

分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客

分布式.RPC-WebService CXF框架_闲猫的博客-CSDN博客

分布式.RPC-WebService Restful风格实现_闲猫的博客-CSDN博客


目录

原则式结论

调用方式比对

远程调用场景

应用图示


RPC(Remote Procedure Call Protocal) 远程过程调用协议。是通过网络服务调用远程计算机服务,而不需要了解底层网络技术的协议。RPC跨越了传输层和应用层,可以基于HTTP协议也可以基于TCP协议。从传输的数据格式上又可以分为XML和二级制。远程调用技术是远程调用协议的实现。

远程调用中的远程是相对于一个工程中的直接调用来说的,远程调用指的是两个不同的进程通信,这两个进程可以分布在两台不同的机器上。远程调用技术是以服务器的形式对外提供的。

远程调用技术主要有四种,分别如下:

Socket

服务端用普通的动态网页技术servlet action  JSP PHP  ASPX,  客户端httpClient

WebService

RMI

原则式结论

远程调用影响效率的两个因素:传输方式、序列化

在数据传输方面,越底层就越快

传输层比应用层更底层,所以基于应用层协议的技术将在效率上低于基于传输层协议的技术。比如:WebService是基于HTTP协议(应用层)的RPC,在效率上就是不如基于TCP协议(传输成)的RMI。

调用方式比对

Socket

  • 特点:速度快、编程复杂
  • 场景:适用于效率比较高的场景
  • 协议:基于TCP/UDP协议(传输层)

WebService

  • 特点:跨平台、跨语言、但速度比较慢
  • 场景:适用于异构系统之间的调用,比如:两个厂家实现的系统彼此调用
  • 协议:基于SOAP协议(应用层)

RMI

  • 特点:速度教快、安全性不高、只能用Java实现
  • 场景:适用于局域网中分布式系统开发
  • 协议:基于HTTP协议(应用层),二级制格式数据传输

服务器动态网页技术

  • 特点:轻量级,缺少规范
  • 场景:适用于安卓、苹果智能手机和服务器的交互

远程调用场景

理解一下什么情况下用什么技术:

  • socket::效率有要求的需求
  • WebService:两个不同的厂家实现,就像Tom公司实现这个接口时,他就不知道使用它服务的是什么机器、什么语言开发的客户端,这时候就应该使用WebService。
  • RMI:用在一个系统中模块与模块之间的调用,必须是同一种语言实现的。一个模块需要使用另一个模块的源码。

应用图示



网站公告

今日签到

点亮在社区的每一天
去签到