美文网首页
后端学习 -- RPC

后端学习 -- RPC

作者: heiheiwanne | 来源:发表于2016-11-21 17:00 被阅读169次

RPC 是远程过程调用

广泛使用的有RMI、Hessian、Dubbo等。
客户端和服务端可以运行在不同的JVM中,Client只需要引入接口,接口的实现以及运行时需要的数据都在Server端,,RPC的主要依赖技术是序列化、反序列化和传输协议,JAVA里对应的就是对象的序列化、反序列化以及序列化后数据的传输。RMI的序列化和反序列化是JAVA自带的,Hessian里的序列化和反序列化是私有的,传输协议则是HTTP,Dubbo的序列化可以多种选择,一般使用Hessian的序列化协议,传输则是TCP协议,使用了高性能的NIO框架Netty。

2、Hessian(基于HTTP的远程方法调用)
基于HTTP协议传输,在性能方面还不够完美,负载均衡和失效转移依赖于应用的负载均衡器,Hessian的使用则与RMI类似,区别在于淡化了Registry的角色,通过显示的地址调用,利用HessianProxyFactory根据配置的地址create一个代理对象,另外还要引入Hessian的Jar包。

JAVA中几种常用的RPC框架介绍

3、Dubbo(淘宝开源的基于TCP的RPC框架)
基于Netty的高性能RPC框架,是阿里巴巴开源的,总体原理如下:

JAVA中几种常用的RPC框架介绍

相关文章

  • 后端学习 -- RPC

    RPC 是远程过程调用 广泛使用的有RMI、Hessian、Dubbo等。客户端和服务端可以运行在不同的JVM中,...

  • RPC原理学习

    RPC原理学习 什么是RPC RPC(Remote Procedure Call Protocol)——远程过程调...

  • RPC远程过程调用概念及实现2018-04-16

    RPC远程过程调用概念及实现 RPC框架学习笔记 >>什么是RPC RPC 的全称是 Remote Procedu...

  • 关于服务发现的一点理解

    上一篇讲解后端为什么要用rpc进行通信而不是http的文章中,提到了rpc相比较http,除了省流量外,其实就是在...

  • HTTP 长连接的那些事

    前言 本文更多地面向后端开发同学。虽然在后端开发中,服务间调用已经广泛采用 RPC 技术。但是由于一些原因,例如像...

  • XXL-RPC (1)---RPC请求主流程

    背景和体会 在学习完xxl-job后,接着学习xxl-rpc项目。 xxl-rpc底层的rpc实现的基于netty...

  • 想开发IM集群?先搞懂什么是RPC!

    本文引用了后端技术指南针公众号“浅谈RPC那些事儿1”和即时通讯网的“即时通讯新手入门:快速理解RPC技术——基本...

  • python框架之zato学习

    因为公司最近的后端业务接口有点乱,就开始找一些RPC的知识来了解,边看边学,记录一下zato的学习体会吧。 zat...

  • RPC、Yar、gRPC

    自 11 月后端结构调整正式启动已有月余,效果初现;PHP Yar(Yet Another RPC Framewo...

  • 从零开始手写 dubbo rpc 框架

    rpc rpc 是基于 netty 实现的 java rpc 框架,类似于 dubbo。 主要用于个人学习,由渐入...

网友评论

      本文标题:后端学习 -- RPC

      本文链接:https://www.haomeiwen.com/subject/hvmupttx.html