xrpc
基于TCP的RPC框架
RPC框架包含几大部分
一,通讯
1,协议:TCP和HTTP2的优劣TCP包较小,有更好的传输速率,但易用性没有HTTP2好HTTP2虽然会稍微占一些流量,但由于其具有一些重叠,头部压缩等新特性,速度应该并不比TCP差不多少。(我没试过)但是这里为了学习还是使用TCP
2,加密我因为不太了解这部分,只简单替换对称加密了。
3,yamux yamux是一个链接副本库,可以使一个物理的TCP链接虚拟出多个逻辑链接,从而提高传输效率源码阅读我有提交简书,只是两次天发不了文。
原理是利用一个可配置大小的缓冲块(可以理解为申请的内存块),通过随时判断分配大小,使用通道去通知各个逻辑流的读写进度,多读少写。
4,链接池虽然使用yamux可以虚拟逻辑链接,但每一个TCP链接的发送速率是有限的,这里还是需要管理一个TCP的连接池。
二,远程调用
就直接用net /
2022-12-01 08:40:44
19KB
Go
1