Node.js 是否有办法为grpc节点客户端配置生成方法名称?
我希望使用Node.js 是否有办法为grpc节点客户端配置生成方法名称?,node.js,microservices,grpc,Node.js,Microservices,Grpc,我希望使用grpc节点客户端,使用Go-micro框架与内置的Go微服务进行对话。我遇到了一个问题,go-micro使用句点()定义方法名来分隔名称空间和方法名,而grpc节点使用斜杠(//code>)。是否仍要配置此模式以使这两个进程相互通信?定义路径的构造如下: 路径→ :路径“/”服务名称“/”{方法名称} 再加上这张便条 一些gRPC实现可能允许覆盖上面显示的路径格式,但强烈建议不要使用此功能。gRPC不会刻意破坏正在使用这种覆盖的用户,但我们并不积极支持它,当路径不是上面所示的形式时,
grpc节点
客户端,使用Go-micro
框架与内置的Go
微服务进行对话。我遇到了一个问题,go-micro
使用句点(
)定义方法名来分隔名称空间和方法名,而grpc节点
使用斜杠(//code>)。是否仍要配置此模式以使这两个进程相互通信?定义路径的构造如下:
路径→ :路径“/”服务名称“/”{方法名称}
再加上这张便条
一些gRPC实现可能允许覆盖上面显示的路径格式,但强烈建议不要使用此功能。gRPC不会刻意破坏正在使用这种覆盖的用户,但我们并不积极支持它,当路径不是上面所示的形式时,某些功能(例如,服务配置支持)将不起作用
因此,Node gRPC客户端遵循规范,go micro使用的替代格式似乎是在其代码生成插件()中硬编码的。我认为这是一个错误。
也就是说,在节点gRPC库中有一个可行的解决方法来匹配该方法名格式。在节点中加载.proto
文件时,每个客户端构造函数都有一个服务
成员,它是一个描述服务的普通JavaScript对象。它是方法名称到方法定义的映射,每个方法定义都包含一个路径
成员。您可以修改每个方法的路径以匹配go micro使用的模式,然后将生成的服务对象传递给grpc.makeGenericClientConstructor
,以获得连接到修改后的服务的新客户端构造函数