CherieLi Student

rpc 学习

2019-09-10
CherieLi

什么是RPC

Remote Procedure Call Protocol,远程过程调用

入参、执行运算逻辑、出参。三个动作都发生在同一个进程空间里是本地函数调用。

两个进程约定一个协议格式,入参、执行运算逻辑、出参。就是远程调用。

RPC框架的职责

· client端:序列化、反序列化、连接池管理、负载均衡、故障转移、队列管理,超时管理、异步管理等等

· server端:服务端组件、服务端收发包队列、io线程、工作线程、序列化反序列化等

序列化(Serialization),就是将“对象”形态的数据转化为“连续空间二进制字节流”形态数据的过程。这个过程的逆过程叫做反序列化

怎么进行序列化?

使用成熟协议xml/json

自定义二进制协议来序列化对象

rpc和http的区别

HTTP 指的是通信协议。 RPC 则是远程调用,其对应的是本地调用。RPC 的通信可以用 HTTP 协议,也可以自定义协议,是不做约束的。 RPC主要用于公司内部服务调用,性能消耗低,传输效率高,服务治理方便。HTTP主要用于对外的异构环境,浏览器调用,APP接口调用,第三方接口调用等等。

参考文档

https://blog.csdn.net/xuduorui/article/details/78278808

https://developer.aliyun.com/article/713311
离不开的微服务架构,脱不开的RPC细节

https://bbs.huaweicloud.com/blogs/337073
千字带你了解什么是 RPC 协议

gRPC


上一篇 锁优化

下一篇 可变参数模板

Comments

Content