专栏首页java思维导图【读书笔记】1.1-基于TCP协议的RPC

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

1.1.1RPC名词解释

  • 概念
    • 全称Remote Process Call,即远程过程调用
    • rpc的实现包括服务的调用方和服务的提供方
  • 过程
    • 服务调用方发送RPC请求到服务提供方,服务提供方根据调用方提供的参数执行请求方法,将执行的结果返回给调用方,一次RPC调用完成
  • 使用原因
    • 单台服务器处理能力有限,RPC可提升系统处理能力和吞吐量,也是实现分布式计算的基础

1.1.2对象序列化

  • 序列化原因
    • 任何形式的数据都需要转换成二进制流在网络传输
  • 概念
    • 对象序列化-将对象转换为二进制流的过程
    • 对象反序列化-将二进制流恢复为对象的过程
  • 解决方案
    • Google的Protocal Buffers
    • Java内置的序列化方式
    • Hessian

    引入二方包hession.jar

    • JSON和XML

1.1.3基于TCP协议实现RPC

  • 原理
    • 基于java的反射机制Socket API实现
    • 方法的调用使用反射机制,消费者把需要调用的接口名称方法参数通过Socket通道传到服务端,服务端再通过反射机制调用对应的方法获取到值。然后再通过相同方式把结果返回给消费端
  • 场景
    • 服务消费者调用服务提供者的SayHelloService接口的sayHello()方法具体实现获取结果
  • 关键代码
    • 服务提供者
  • 服务提供者
  • 总结
    • 真实环境中,多个客户端多个请求,服务端需要同时接收和处理,涉及并发、路由、负载均衡等问题,以上代码无法满足。

本文分享自微信公众号 - java思维导图(java-mindmap),作者:-->

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

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

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

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

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

    java思维导图
  • 刷题外传之深入浅出 RPC

    无论是 Leetcode 和层出不穷的 Online Judge, 核心是帮助大家锻炼 Coding 和解算法题的能力。 刷题非常有用,如刷题时代的困局所述,未...

    包子面试培训
  • PHP实现RPC(简版)

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

    烟草的香味
  • 网络协议 19 - RPC协议综述:远在天边近在眼前

        这几年微服务很火,想必各位博友或多或少的都接触过。微服务概念中, 各服务间的相互调用是不可或缺的一环。你知道微服务之间是通过什么方式相互调用的吗?

    北国风光
  • 阿里首席架构师科普RPC框架

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

    Java架构
  • RPC框架是啥?

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

    Java猫说
  • RPC 架构初探

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

    IMWeb前端团队
  • rpc思维导图,让rpc不再难懂

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

    java思维导图

扫码关注云+社区

领取腾讯云代金券