轻量级golang rpc框架

最近有点闲余时间,于是开始思考以及编写一些东西。其实关于RPC,记得之前刚接触的时候,感觉很神秘,很牛x的一项技术。RPC随便百度一下,都看的好像很高深,很难懂的介绍。然后就算用了,也不懂啥米原理,引用beego的谢大给的图,看着也好像不是很懂的样子。

其实基于golang的RPC有好几个了,除去原生的一个外,有gRPC,也有一个自称很牛逼的RPC框架(xrpc:http://rpcx.site/)。我本着学习,以及研究的态度手动撸了一个,代码放在github上了:https://github.com/gtd138/light-rpc,虽然还没有xrpc那样高能的世界(实际压测也不咋地),以及gRPC那么深厚的背景(成熟,多语言,商用,实际压测也性能确实很不错),但至少弄懂了rpc是很么回事了(之前试过用c#写了一个玩具RPC,但感觉性能不太行,就丢弃不用了)。

那么,rpc究竟是什么,官方的看不懂,我这里给个非官方的,自己认为的解释吧。

我们先从普通的网络通讯说一下。首先,客户端向服务器发消息,一般就是把消息序列化一下,就丢出去了。然后所谓的消息,其实就是一个结构体而已。那么服务器接收到这个消息,就得去调用一些注册好的函数去处理。譬如消息A,注册了函数A处理什么的。

其实rpc道理是一样,只不过不同的是,前者不知道哪个函数处理发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值