草庐IT

go - 使用 gRPC : how to get the size of the client-side buffer? 的无缓冲双向数据流

我正在将数据从服务器流式传输到客户端,我希望服务器读取和发送的数据不要超过客户端的缓冲区大小。给定:serviceStreamService{rpcStream(streamBuffer)returns(streamBuffer);}messageBuffer{bytesdata=1;}我客户的程序基本上是这样的:funcReadFromServer(streamStreamService_StreamClient,buf[]byte)(nint,errerror){//Iactuallydon'tneedmorethanlen(buf)...//HowcouldIsendlen(bu

go - 使用 gRPC : how to get the size of the client-side buffer? 的无缓冲双向数据流

我正在将数据从服务器流式传输到客户端,我希望服务器读取和发送的数据不要超过客户端的缓冲区大小。给定:serviceStreamService{rpcStream(streamBuffer)returns(streamBuffer);}messageBuffer{bytesdata=1;}我客户的程序基本上是这样的:funcReadFromServer(streamStreamService_StreamClient,buf[]byte)(nint,errerror){//Iactuallydon'tneedmorethanlen(buf)...//HowcouldIsendlen(bu

testing - 如何测试 gRPC API?

我被指派去测试一个gRPCAPI(用Golang编写),但我不知道如何测试它,而且我在网上找不到任何此类测试的教程。我能想到的唯一方法是编写单元测试来测试方法本身,但我也想用客户端来测试它。例如,我过去曾使用JMeter作为客户端来测试RESTAPI,以发送请求并验证响应数据。是否有使用客户端测试gRPCAPI的方法,或者单元测试是唯一的方法吗? 最佳答案 好吧,我正在寻找像Postman这样的客户,然后我找到了bloomrpc,这有助于调用grpc服务。但我不确定它是否符合您的目的,如果您正在寻找像jmeter这样的工具。

testing - 如何测试 gRPC API?

我被指派去测试一个gRPCAPI(用Golang编写),但我不知道如何测试它,而且我在网上找不到任何此类测试的教程。我能想到的唯一方法是编写单元测试来测试方法本身,但我也想用客户端来测试它。例如,我过去曾使用JMeter作为客户端来测试RESTAPI,以发送请求并验证响应数据。是否有使用客户端测试gRPCAPI的方法,或者单元测试是唯一的方法吗? 最佳答案 好吧,我正在寻找像Postman这样的客户,然后我找到了bloomrpc,这有助于调用grpc服务。但我不确定它是否符合您的目的,如果您正在寻找像jmeter这样的工具。

go grpc 服务器不知道客户端不优雅死了

我正在使用go-grpc创建双向流。当我拔下电缆时,服务器在很长一段时间内都不知道客户端已死。在这种情况下,我如何检测到客户端已消失??? 最佳答案 我遇到了和你一样的问题。在我的例子中,当我使用Ctrl-C终止我的测试客户端时,服务器很快检测到它,但是当我使用Ctrl-Z(或者如果我切断微Controller的电源)时,服务器将永远关闭挂连接。您需要使用某种心跳来检查连接,例如使用gRPC的keepAlive功能。由于在Envoy(https://github.com/envoyproxy/envoy/issues/2086)后面

go grpc 服务器不知道客户端不优雅死了

我正在使用go-grpc创建双向流。当我拔下电缆时,服务器在很长一段时间内都不知道客户端已死。在这种情况下,我如何检测到客户端已消失??? 最佳答案 我遇到了和你一样的问题。在我的例子中,当我使用Ctrl-C终止我的测试客户端时,服务器很快检测到它,但是当我使用Ctrl-Z(或者如果我切断微Controller的电源)时,服务器将永远关闭挂连接。您需要使用某种心跳来检查连接,例如使用gRPC的keepAlive功能。由于在Envoy(https://github.com/envoyproxy/envoy/issues/2086)后面

python - Go 中的 gRPC 服务器与 Python 中的客户端之间的兼容性

我想知道Go中的gRPC服务和Python中的客户端的兼容性。例如iftheserviceisimplementedinGo,它会有这样的签名:...func(s*routeGuideServer)GetFeature(ctxcontext.Context,point*pb.Point)(*pb.Feature,error){...}...func(s*routeGuideServer)ListFeatures(rect*pb.Rectangle,streampb.RouteGuide_ListFeaturesServer)error{...}...func(s*routeGuideS

python - Go 中的 gRPC 服务器与 Python 中的客户端之间的兼容性

我想知道Go中的gRPC服务和Python中的客户端的兼容性。例如iftheserviceisimplementedinGo,它会有这样的签名:...func(s*routeGuideServer)GetFeature(ctxcontext.Context,point*pb.Point)(*pb.Feature,error){...}...func(s*routeGuideServer)ListFeatures(rect*pb.Rectangle,streampb.RouteGuide_ListFeaturesServer)error{...}...func(s*routeGuideS

docker - 如何为 gRPC 服务实现活跃性和就绪性端点?

我有一个gRPC服务,它使用tcp监听器监听端口。这个服务是Dockerized的,最终我想在Kubernetes集群中运行它。我想知道实现active和就绪探测以检查我的服务健康状况的最佳方法是什么?我应该在另一个goroutine中运行一个单独的http服务器并响应/health和/ready路径吗?或者,我是否还应该让gRPC调用我的服务的活跃度和就绪性,并使用gRPC客户端来查询这些端点?! 最佳答案 之前我在应用程序中运行了一个单独的http服务器,只是为了健康检查(这是因为AWS应用程序负载均衡器只有http检查,我不知

docker - 如何为 gRPC 服务实现活跃性和就绪性端点?

我有一个gRPC服务,它使用tcp监听器监听端口。这个服务是Dockerized的,最终我想在Kubernetes集群中运行它。我想知道实现active和就绪探测以检查我的服务健康状况的最佳方法是什么?我应该在另一个goroutine中运行一个单独的http服务器并响应/health和/ready路径吗?或者,我是否还应该让gRPC调用我的服务的活跃度和就绪性,并使用gRPC客户端来查询这些端点?! 最佳答案 之前我在应用程序中运行了一个单独的http服务器,只是为了健康检查(这是因为AWS应用程序负载均衡器只有http检查,我不知