首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在所有grpc测试用例中,grpc拨号调用中的r.Scheme()+“://test.server”是什么?

在所有grpc测试用例中,grpc拨号调用中的r.Scheme()+“://test.server”是什么?
EN

Stack Overflow用户
提问于 2019-11-20 14:21:07
回答 1查看 59关注 0票数 0

通常,我们将服务器地址(例如"localhost:56666“或"someserver:9999”)传递给grpc的拨号方法。

例: grpc.Dial("localhost:56666",grpc.WithInSecure())

但是在grpc-go repo中给出的测试用例中(参见下面的链接),拨号的第一个参数是"*Dial(r.Scheme()+":///test.server",WithInsecure(),WithTimeout(5*time.Second))*“。当我通过运行这些go测试文件打印这个值时,我观察到这个地址值是"bykrwuxel00s:///test.server“。

https://github.com/grpc/grpc-go/blob/master/balancer/roundrobin/roundrobin_test.go#L102

https://github.com/grpc/grpc-go/blob/master/clientconn_test.go#L135

这作为一个有效的服务器地址是如何工作的?

EN

回答 1

Stack Overflow用户

发布于 2019-11-20 18:39:07

gRPC URI目标的"type“元素基本上只表示目标的”类型“。有关更多详细信息,请参阅https://github.com/grpc/grpc/blob/master/doc/naming.md#name-syntax

例如,通过这种方式,gRPC客户端可以查看该类型并决定使用何种名称解析机制(在内部,每个“解析器”都在唯一的方案下注册)。

在本例中,该测试似乎使用了它通过调用"GenerateAndRegisterManualResolver“生成的自定义解析器,该自定义解析器动态地生成了唯一的全局注册方案:https://github.com/grpc/grpc-go/blob/7c1d326729dc9b0a07135f8902ddcc050ff8ab64/resolver/manual/manual.go#L89

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58956544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档