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

本文介绍了远程过程调用(RPC)的基本概念及其应用场景,并详细探讨了如何利用Java反射机制和Socket API来基于TCP协议实现RPC。此外,还讨论了对象序列化的必要性和多种序列化方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                              【读书笔记】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()方法具体实现获取结果

  • 关键代码

    • 服务提供者


    • 服务提供者

  • 总结

    • 真实环境中,多个客户端多个请求,服务端需要同时接收和处理,涉及并发、路由、负载均衡等问题,以上代码无法满足。


    下期预告:






    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()方法具体实现获取结果

    • 关键代码

      • 服务提供者


      • 服务提供者

    • 总结

      • 真实环境中,多个客户端多个请求,服务端需要同时接收和处理,涉及并发、路由、负载均衡等问题,以上代码无法满足。


      下期预告:

      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值