登录
首页 >  Golang >  Go问答

gRPC 设置问题。收到间歇性 RPC 不可用错误

来源:Golang技术栈

时间:2023-03-22 17:58:07 493浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《gRPC 设置问题。收到间歇性 RPC 不可用错误》,这篇文章主要会讲到golang等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我有一个 grpc 服务器和客户端,大部分时间都按预期工作,但偶尔会出现“传输正在关闭”错误:

rpc error: code = Unavailable desc = transport is closing

我想知道是不是我的设置有问题。客户端非常基础

connection, err := grpc.Dial(address, grpc.WithInsecure(), grpc.WithBlock())
pb.NewAppClient(connection)
defer connection.Close()

并且调用是超时的,比如

ctx, cancel := context.WithTimeout(ctx, 300*time.Millisecond)
defer cancel()

client.MyGRPCMethod(ctx, params)

我正在做的另一件事是检查连接以查看它是否打开、空闲或正在连接,如果是,则重用连接。否则重拨。

服务器没有发生任何特殊配置

grpc.NewServer()

设置我可能会犯的 grpc 客户端/服务器是否有任何常见错误?

正确答案

我正在做的另一件事是检查连接以查看它是否打开、空闲或正在连接,如果是,则重用连接。否则重拨。

grpc 将为您管理您的连接,并在需要时重新连接,因此除非您有非常特殊的需要,否则您在创建它后永远不需要监视它。

“运输正在关闭”有许多不同的发生原因;请查看我们的常见问题解答中的相关问题,如果您仍有疑问,请告诉我们:[https ://github.com/grpc/grpc-go#the-rpc-failed-with-error-code--unavailable-desc-- 运输关闭](https://github.com/grpc/grpc-go#the-rpc-failed-with-error-code-- unavailable-desc--transport-is-closing)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表