什么是rpc

匿名 (未验证) 提交于 2019-12-03 00:22:01

RPC

RPC全称为Remote Procedure Call“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。

HTTP协议的(SOAP(XML)、Rest(JSON)Hessian(Binary

TCP协议的(通常会借助Mina、Netty等

(例如Java平台的RMI、.NET平台Remoting)

HTTP Rest、Thrift等

RPC)

MQ、异步RPC)

常见的几种通信方式

/

只有二进制数据才能在网络中传输,序列化和反序列化的定义是:

Java.NET

Java

技术

简介

是否支持跨平台

Corbra

90

不支持

RMI

EJB

不支持

WebService

基于Http SOAP

支持

Hessain

基于Http

支持

Restspring mvc

支持Http RestAPI

支持

JMSMQ

Java

支持

Socket

基于MinaNettyNIOAIO

理论上支持

.NET

技术

简介

是否支持跨平台

WebService

基于Http SOAPWCF

支持

.NET Remoting

通信效率尚可,使用复杂,逐渐被WCF

不支持

WCF SOAP

整合了原有的WebService

支持

WCF NET.TCP

通信效率高,部分.NET

不支持

WCF Rest

使用较少,已经被Web Api

支持

Web Api

支持Http RestAPI

支持

MSMQMQ

微软自己的消息中间件或者其他开源MQ

支持(MSMQ

Hessain .NET

基于Http

支持

Socket

通过Socket

理论上支持

RPC

应用级的服务框架:

Dubbo/Dubbox

ZeroICE

GRpc

Spring Boot/Spring Cloud

基础通信框架:

Protocol Buffers

Thrift

远程通信协议:

RMI

Socket

SOAP(HTTP XML)

REST(HTTP JSON)

RPC

性能

RPC

1./

2.网络协议,网络模型,线程模型等

安全

RPC

跨平台

跨不同的操作系统,不同的编程语言和平台。

RPC

SOAP WebService

Hessian

HTTP Rest

Thrift

GRpcProtobuffer

Zero ICE

消息中间件

文章来源: 什么是rpc
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!