前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【读书笔记】1.1-基于TCP协议的RPC

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

作者头像
java思维导图
发布2018-03-15 15:43:13
7260
发布2018-03-15 15:43:13
举报
文章被收录于专栏:java思维导图java思维导图

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()方法具体实现获取结果
  • 关键代码
    • 服务提供者
  • 服务提供者
  • 总结
    • 真实环境中,多个客户端多个请求,服务端需要同时接收和处理,涉及并发、路由、负载均衡等问题,以上代码无法满足。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java思维导图 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档