1万行代码,单机50万QPS,今年最值得学习的开源RPC框架!

又发现一个不错的,工业级的,高性能RPC框架srpc,分享给大家。

(1)RPC简介;

(2)行业常见RPC框架;

(3)srpc特点;

(4)srpc上手指南,demo示例;

(5)srpc架构设计;

(6)srpc相关资料与资源;

文章较长,建议提前收藏。

什么是RPC?

Remote Procedure Call,远程过程调用。

什么是“远程”,为什么“远”?

先来看下什么是“近”,即“本地函数调用”。

当我们写下:

int result = Add(1, 2);

这行代码的时候,到底发生了什么?

a9e264ceefc331fb37461d24267eabc8.png

(1)传递两个入参;

(2)调用了本地代码段中的函数,执行运算逻辑;

(3)返回一个出参;

这三个动作,都发生在同一个进程空间里,这是本地函数调用。

那有没有办法,调用一个跨进程的函数呢?

典型的,这个进程部署在另一台服务器上。

42b71bf7bacd31540a15d7006a4bf55f.png

最容易想到的,两个进程约定一个协议格式,使用Socket通信,来传输:

(1)入参;

(2)调用哪个函数;

(3)出参;

如果能够实现,那这就是“远程”过程调用。

为什么需要RPC框架呢?

如果没有统一的RPC框架,各个团队的服务提供方就需要各自实现一套序列化、反序列化、网络框架、连接池、收发线程、超时处理、状态机等“业务之外”的重复技术劳动,造成整体的低效。

RPC框架的职责,就是要屏蔽各种复杂性:

(1)调用方client感觉就像调用本地函数一样,来调用服务;

(2)提

原文链接:https://blog.csdn.net/shenjian58/article/details/121528639

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享