草庐IT

protocol-handler

全部标签

go - 我应该使用哪种协议(protocol)在多个节点之间交换文件?

我有多个节点。Node只是一个linux或windows服务器。我也有一个主节点。主节点是文件共享进程的管理者。这张图片展示了沟通的过程:所以,我尝试为这个系统选择一些我可以实现的协议(protocol)(或者只是使用一些现有的实现)。我需要一个文件共享协议(protocol)。我的意思是检查校验和、管理互联网带宽、管理数据交换过程。文件只是一种二进制数据。文件大小约为1-10MB。系统中的文件数量约为100万个。90%的请求是写入请求。 最佳答案 Web服务器旨在提供文件服务(以及其他服务)。我建议你使用http协议(protoc

linux - 异步获取 "slow protocols"的目录条目

我想要一个在Linux上获取目录条目的函数。我用ioutil.ReadDir通常它很快。但是如果我想在/run/user/1000/gvfs/上读取一些挂载的虚拟文件系统,这个函数就变慢了。如果目录有很多文件条目,我需要等待很长时间。我可以在终端中使用ls命令,结果是一样的。当我尝试ls-U-a-p-1时,我立即得到了逐行输出。我尝试使用exec.Command在Go中运行它,但它无法异步运行。Go正在等待完整的程序输出。我做错了什么?m.cmd=exec.Command("ls","-U","-a","-p","-1")//forexamplesome"slow"directory:

linux - 异步获取 "slow protocols"的目录条目

我想要一个在Linux上获取目录条目的函数。我用ioutil.ReadDir通常它很快。但是如果我想在/run/user/1000/gvfs/上读取一些挂载的虚拟文件系统,这个函数就变慢了。如果目录有很多文件条目,我需要等待很长时间。我可以在终端中使用ls命令,结果是一样的。当我尝试ls-U-a-p-1时,我立即得到了逐行输出。我尝试使用exec.Command在Go中运行它,但它无法异步运行。Go正在等待完整的程序输出。我做错了什么?m.cmd=exec.Command("ls","-U","-a","-p","-1")//forexamplesome"slow"directory:

go - golang 谷歌 Protocol Buffer 中的错误

我有一个python程序和一个golang程序都从套接字获取数据。我打印它从两者接收到的字节。pythonData=0a300a084a6f686e20446f6510071a126a6f686e2e646f6540676d61696c2e636f6d220e0a0c3131312d3131312d31313130golang2016/04/0223:21:0850bytesreadfrom192.168.0.1:651202016/04/0223:21:08000000000a300a084a6f686e20446f6510081a12|.0..JohnDoe....|0000001

go - golang 谷歌 Protocol Buffer 中的错误

我有一个python程序和一个golang程序都从套接字获取数据。我打印它从两者接收到的字节。pythonData=0a300a084a6f686e20446f6510071a126a6f686e2e646f6540676d61696c2e636f6d220e0a0c3131312d3131312d31313130golang2016/04/0223:21:0850bytesreadfrom192.168.0.1:651202016/04/0223:21:08000000000a300a084a6f686e20446f6510081a12|.0..JohnDoe....|0000001

net::ERR_HTTP2_PROTOCOL_ERROR 报错处理

记一次浏览器报:net::ERR_HTTP2_PROTOCOL_ERROR的处理流程关于浏览器报这个错的文章无数,所以这个报错需要根据自己的实际情况进行排查处理。上截图:我的问题是在导出文件的时候报错的,系统其他导出功能没问题,只有这一个导出存在该问题。下面是我的排查情况:页面报错第一时间到服务器排查日志,后端服务日志无报错信息排查Nginx错误日志(很多文章都说是Nginx的问题),发现自己的服务并不是通过Nginx做的负载均衡,运维同事说我们用了阿里云的SLB查看SLB设置发现HTTP2.0默认开启了,关掉后可以正常导出文件所以这次的排查结果是SLB开启了HTTP2.0导致的,再考虑下这个

go - 较旧的服务传输较新版本的 Protocol Buffer 3 消息

比如说,我有一个ProtocolBuffer消息(在proto3中)的形式messageA{int32foo=1;}我正在运行用Go编写的服务器X、Y和Z,它们使用这些消息并通过gRPC传递它们,这样X与Y对话,Y与Z对话,即X和Z通过Y对话。Alice设计了一个很酷的新功能,需要在消息A中添加一个新字段bar并更新服务器X和Z。messageA{int32foo=1;int32bar=2;}但是,服务器Y的部署版本不识别这个新字段,并且重新部署服务器Y以实现这一点在大型系统中很快就会变得非常困难。在以前的生活中,我们使用proto2并且所有这些工作正常,因为它会保留无法识别的字段。但

go - 较旧的服务传输较新版本的 Protocol Buffer 3 消息

比如说,我有一个ProtocolBuffer消息(在proto3中)的形式messageA{int32foo=1;}我正在运行用Go编写的服务器X、Y和Z,它们使用这些消息并通过gRPC传递它们,这样X与Y对话,Y与Z对话,即X和Z通过Y对话。Alice设计了一个很酷的新功能,需要在消息A中添加一个新字段bar并更新服务器X和Z。messageA{int32foo=1;int32bar=2;}但是,服务器Y的部署版本不识别这个新字段,并且重新部署服务器Y以实现这一点在大型系统中很快就会变得非常困难。在以前的生活中,我们使用proto2并且所有这些工作正常,因为它会保留无法识别的字段。但

java - 通过 Java 解析来自 Go 的协议(protocol)消息

我写了一个服务器(Go)-客户端(Java)程序,并使用protobuf进行通信。定义一个proto文件并在服务器和客户端之间共享。在服务器端:通过protoc将共享proto文件编译成go通过proto.Marshal序列化对象将其发送给对其服务提出请求的客户在客户端:通过protoc将共享proto文件编译成java获取字节通过http传输将字节反序列化为对象。这里我得到以下错误:"com.google.protobuf.InvalidProtocolBufferException:Whileparsingaprotocolmessage,theinputendedunexpect

java - 通过 Java 解析来自 Go 的协议(protocol)消息

我写了一个服务器(Go)-客户端(Java)程序,并使用protobuf进行通信。定义一个proto文件并在服务器和客户端之间共享。在服务器端:通过protoc将共享proto文件编译成go通过proto.Marshal序列化对象将其发送给对其服务提出请求的客户在客户端:通过protoc将共享proto文件编译成java获取字节通过http传输将字节反序列化为对象。这里我得到以下错误:"com.google.protobuf.InvalidProtocolBufferException:Whileparsingaprotocolmessage,theinputendedunexpect