文件名称:xrpc:基于TCP的RPC框架
文件大小:19KB
文件格式:ZIP
更新时间:2024-03-13 05:43:13
Go
xrpc 基于TCP的RPC框架 RPC框架包含几大部分 一,通讯 1,协议:TCP和HTTP2的优劣TCP包较小,有更好的传输速率,但易用性没有HTTP2好HTTP2虽然会稍微占一些流量,但由于其具有一些重叠,头部压缩等新特性,速度应该并不比TCP差不多少。(我没试过)但是这里为了学习还是使用TCP 2,加密我因为不太了解这部分,只简单替换对称加密了。 3,yamux yamux是一个链接副本库,可以使一个物理的TCP链接虚拟出多个逻辑链接,从而提高传输效率源码阅读我有提交简书,只是两次天发不了文。 原理是利用一个可配置大小的缓冲块(可以理解为申请的内存块),通过随时判断分配大小,使用通道去通知各个逻辑流的读写进度,多读少写。 4,链接池虽然使用yamux可以虚拟逻辑链接,但每一个TCP链接的发送速率是有限的,这里还是需要管理一个TCP的连接池。 二,远程调用 就直接用net /
【文件预览】:
xrpc-master
----server.go(713B)
----socket()
----register()
--------consul_test.go(147B)
--------consul.go(6KB)
--------README.md(1KB)
----client.go(3KB)
----rpc()
--------service.go(18KB)
--------client.go(9KB)
----go.sum(7KB)
----README.md(1KB)
----go.mod(202B)