首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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.2-基于HTTP协议的的RPC

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180203A012O100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券