标签:远程 传输层 说明 客户端 就是 解码 https tor procedure
rpc是啥?
作为好像是程序员的我,并不知道啥是rpc啊,看到一篇文章说程序员给他媳妇说什么是rpc,说是Remote Procedure Call,远程过程调用,然后我的反应是跟他媳妇一样,远程过程调用是啥?继续“相对于本地过程调用”,那本地过程调用是啥?悲剧的我。
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这些步骤都封装起来。
那rpc和restful有啥区别呢?rpc是在传输层的TCP协议上,性能更高,restful是在http协议上,
标签:远程 传输层 说明 客户端 就是 解码 https tor procedure
原文地址:https://www.cnblogs.com/yokiblogs/p/12202283.html