专栏首页java思维导图rpc思维导图,让rpc不再难懂

rpc思维导图,让rpc不再难懂

解析

RPC(Remote Procedure Call),远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

在OSI网络通信模型中,RPC跨越了传输层和应用层

RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

为什么要用RPC

可以做到分布式,现代化的微服务

  • 部署灵活
  • 解耦服务
  • 扩展性强

RPC的目的是让你在本地调用远程的方法,而对你来说这个调用是透明的,你并不知道这个调用的方法是部署哪里。通过RPC能解耦服务,这才是使用RPC的真正目的。

工作原理

RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

rpc框架为我们解决的问题

  • 通讯问题,即A与B之间的通信,建立TCP连接
  • 寻址问题,A通过RPC框架连接到B的服务器及特定端口和调用的方法名
  • 参数序列化与反序列化,发起远程调用参数值需要二进制化,服务接收到二进制参数后需要反序列化

与http服务相比

常用rpc框架

  • Dubbo

DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

  • Motan

Motan是新浪微博开源的一个Java 框架。它诞生的比较晚,起于2013年,2016年5月开源。Motan 在微博平台中已经广泛应用,每天为数百个服务完成近千亿次的调用。

  • gRPC

gRPC是Google开发的高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。本身它不是分布式的,所以要实现上面的框架的功能需要进一步的开发。

本文分享自微信公众号 - java思维导图(java-mindmap),作者:点击关注--》

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【读书笔记】1.1-基于TCP协议的RPC

    1.1.1RPC名词解释 概念 全称Remote Process Call,即远程过程调用 rpc的实现包括服务的调用方和服务的提供方 过程 服务调用方发送RP...

    java思维导图
  • 分布式 Session 解决方案

    来源:https://www.cnblogs.com/SimpleWu/p/10118674.html

    java思维导图
  • 分布式Session解决方案

    Session 是客户端与服务器通讯会话跟踪技术,服务器与客户端保持整个通讯的会话基本信息。

    java思维导图
  • 架构-RPC传输之道

    RPC(Remote ProcedureCall),即远程过程调用,通过网络实现两个服务器之前的调用,RPC是跨越传输层和应用层。

    凹谷
  • RPC框架是啥?

    在我刚刚了解分布式的时候,经常对RPC和分布式有些混淆,甚至一直以为两者对等,所以我们先看看他们有什么区别?

    Java猫说
  • 阿里首席架构师科普RPC框架

    RPC概念及分类 RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系...

    Java架构
  • RPC 架构初探

    RPC的全称是Remote Procedure Call,它是一种进程间的通信方式。允许像调用本地服务一样调用远程服务,它的具体的实现方式可以不同,例如Spri...

    IMWeb前端团队
  • PHP实现RPC(简版)

    RPC这个东西是什么? 第一次听说他, 还要在它的前边加个G, 当时我以为GRPC是一项技术, 后来才知道, 并不是这样. GRPC只是RPC的谷歌实现.

    烟草的香味
  • 【读书笔记】1.1-基于TCP协议的RPC

    1.1.1RPC名词解释 概念 全称Remote Process Call,即远程过程调用 rpc的实现包括服务的调用方和服务的提供方 过程 服务调用方发送RP...

    java思维导图
  • RPC框架设计和调用详解

    RPC是远程调用过程的简写,是一个协议,处于网络通信协议的第五层:会话层,其下就是TCP/IP协议,在建立在其基础上的通信会话协议。RPC定义了交互的模式,而...

    lyb-geek

扫码关注云+社区

领取腾讯云代金券