Go 是否可以将自定义方法类型添加到protobuf服务?

Go 是否可以将自定义方法类型添加到protobuf服务?,go,protocol-buffers,grpc,amqp,Go,Protocol Buffers,Grpc,Amqp,当您使用protobuf描述服务时,可以添加rpc方法。是否可以编写一些扩展来使用自定义方法类型,如: service SomeService { rpc SomeRPCMethod(Request) returns (Response); amqp SomeAMQPMethod(AMQPRequest); } 我根据扩展方法和服务选项找到了一些信息,但没有关于自定义方法类型的信息。我认为您必须使用标准定义才能构建可移植的原型文件。在一天结束时,这是GRPC的最终目标您是否希望

当您使用protobuf描述服务时,可以添加rpc方法。是否可以编写一些扩展来使用自定义方法类型,如:

service SomeService {
    rpc SomeRPCMethod(Request) returns (Response);
    amqp SomeAMQPMethod(AMQPRequest);
}

我根据扩展方法和服务选项找到了一些信息,但没有关于自定义方法类型的信息。

我认为您必须使用标准定义才能构建可移植的原型文件。在一天结束时,这是GRPC的最终目标

您是否希望
SomeAMQPMethod
方法本质上是
SomeRPCMethod
的包装器?而
AMQPRequest
被转换为
Request
?@colminator,我想写一些插件,根据这个定义生成消费者和生产者。此代码与GRPC端点没有任何共同之处。我不确定是否遵循。
protoc gen go
工具将为
.proto
文件定义生成go代码,就像上面的定义一样。如果定义了所有的
消息
(aka类型),该Go代码将包括客户端和服务器接口。这些接口通常用于gRPC实现,但接口可以本机实现,模仿客户机-服务器模型,而不影响任何网络。这就是你所看到的方向吗?@colminator我知道protoc用于生成gRPC服务器和客户端。我想做几乎相同的,但amqp。我不想生成一个amqp rpoxy,它将侦听事件,然后将消息发送到gRPC端点。在上面的例子中,我想为
rpc
method指令生成通用的gRPC代码,我想编写一个插件来处理
amqp
method指令,并为消费者和生产者生成特殊代码。作为一个工作示例,我想使用它:例如,我想创建一些
mailService
与消费者一起,消费者将处理发送电子邮件的消息,我还希望gRPC端点将返回成功/失败统计信息。基本上,我希望像通用服务器定义一样使用这个原型文件。