实现RPC框架(一) - golang socket通讯

魔改谢馒头 · · 1616 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

说点废话:
如今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来考虑。



有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:魔改谢馒头

查看原文:实现RPC框架(一) - golang socket通讯

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1616 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传