说点废话:
如今RPC框架有很多种,你使用他的时候并不需要了解他的实现方式,甚至当我第一次用RPC框架的时候我连TCP和HTTP都分不清楚。但用了就得知道怎么回事,还是来了解一下RPC框架的原理是什么样的,最好是去自己实现一下。
那么最开始的思路是这样:RPC可以基于TCP或者HTTP,基于TCP是通过socket链接进行传输,通过传输定义的方法名和类型,再在client端进行动态代理(golang是通过反射)去调用相关方法。
https://github.com/SmarkSeven/socket
大佬写的很好,可以去看一下。
对于HTTP也有不一样的好处,如鉴权,代理,和普及的广泛性,
https://blog.csdn.net/hengyunabc/article/details/81120904
这边是一篇对于gRPC为什么基于HTTP2的思考
总体来说各有利弊,那么对于自己实现来说还是先从TCP来考虑。
有疑问加站长微信联系(非本文作者)