? 辽宁福彩35选七走势图:原创:在亲密关系中如何相互依赖与共生 - HOME-辽宁福35选7走势图
  • 动次创始人杨宝成:“格”斗快手、抖音 2018-12-20
  • 上海合作组织在京举行2018迎新招待会 2018-12-20
  • 辽宁福彩35选七走势图:原创:在亲密关系中如何相互依赖与共生

    辽宁福35选7走势图 www.rfwpk.com 小说:原创:在亲密关系中如何相互依赖与共生作者:乙王邓纯更新时间:2019-03-24字数:28137

    1.RPC原理解析

    1.1 什么是RPC

    RPC(Remote Procedure Call Protocol) ——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP/IP或UDP,为通信程序之间携带信息数据。RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了近似于无限制提升的可能。在OSI网络通信模型中,RPC跨域了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

    1.2 RPC架构

    一个完整的RPC架构里面包含了四个核心的组件,分别是Client,Client Stub,Server以及Server Stub,这个Stub可以理解为存根。

    • 客户端(Client),服务的调用方。
    • 客户端存根(Client Stub),存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。
    • 服务端(Server),真正的服务提供者。
    • 服务端存根(Server Stub),接收客户端发送过来的消息,将消息解包,并调用本地的方法。

    1.3 RPC调用过程

    (1) 客户端(client)以本地调用方式(即以接口的方式)调用服务;

    (2) 客户端存根(client stub)接收到调用后,负责将方法、参数等组装成能够进行网络传输的消息体(将消息体对象序列化为二进制);

    (3) 客户端通过sockets将消息发送到服务端;

    (4) 服务端存根( server stub)收到消息后进行解码(将消息对象反序列化);

    (5) 服务端存根( server stub)根据解码结果调用本地的服务;

    (6) 本地服务执行并将结果返回给服务端存根( server stub);

    (7) 服务端存根( server stub)将返回结果打包成消息(将结果消息对象序列化);

    (8) 服务端(server)通过sockets将消息发送到客户端;

    (9) 客户端存根(client stub)接收到结果消息,并进行解码(将结果消息发序列化);

    (10) 客户端(client)得到最终结果。

    RPC的目标是要把2、3、4、7、8、9这些步骤都封装起来。

    注意:无论是何种类型的数据,最终都需要转换成二进制流在网络上进行传输,数据的发送方需要将对象转换为二进制流,而数据的接收方则需要把二进制流再恢复为对象。

    2. 自定义RPC框架范例

    设计框架视图如下:

    与1.3架构图相比较,rpc-sample-client相当于client-functions,通过接口方法发起请求;而rpc-client相当于client-stub,负责把方法和参数序列化并发送给查找到的服务器。rpc-server相当于server stub,负责把客户端发送过来的消息反序列化,并通过反射调用本地服务,再把本地服务返回的结果序列化发送给客户端;rpc-sample-server则相当于server-functions,提供本地服务并返回得出的结果给rpc-server。rpc-client等待接收rpc-server返回的结果,并将结果反序列化,再把反序列化最终得到的结果返回给rpc-sample-client。

    rpc-common提供基于netty的序列化与反序列化方法,并封装rpc请求和rpc响应,序列化和反序列的对象就是封装好的RpcRequest和RpcResponse。rpc-registry则是基于zookeeper设计的分布式服务器动态上下线通知的应用程序,通过rpc-registry可以查找服务器或者注册服务器,用于均衡负载。

    rpc-client与rpc-server之间的通信是基于netty的,netty底层也是sockets设计,但是效率比sockets高。

    范例github地址:

    https://github.com/qiushangwenyue/CustomRpcFramework.git

    当前文章://www.rfwpk.com/99383.html

    发布时间:2019-03-24 01:05:02

    偌大的城市里,我们拥有的却只是楼宇间的一小片天空 原创:面对灾难最好的帮助—倾听篇 因妈重男轻女,和哥关系不好,咋办 自己改变命运的方法 人格健康与家庭教育 终于找到适合自己的学习方法 幼师对儿童心理成长的重要作用(详) 女生最爱问的七个问题的标准答案 我爱你,姑娘,再见 漫谈儿童的不适应行为及治疗

    84287 83139 56610 16301 14773 79955 55216 95143 99355 91744 70231 49787 29405 53158 43138 82837 78595 67384 62943 33567 52158 79613 78800

    我要说两句: (0人参与)

    发布
  • 动次创始人杨宝成:“格”斗快手、抖音 2018-12-20
  • 上海合作组织在京举行2018迎新招待会 2018-12-20