协议缓冲Java RPC堆栈

根据这个维基百科条目:

“协议缓冲区与Facebook的Thrift协议非常相似,不同之处在于它不包含用于定义服务的具体RPC堆栈。由于协议缓冲区是开源的,因此出现了许多RPC堆栈以填补这一空白。”

但是,没有引用RPC堆栈的示例。 任何人都可以建议基于Java的RPC堆栈实现?

如果您想要基于Java的RPC堆栈,那就是RMI 。 但是,跨平台不能很好地工作。

我一直在使用ProtoBuf来做RPC。 您可以通过将protobuf消息包装在另一个定义服务或调用的protobuf中来模拟RPC堆栈。 有关详细信息,请查找此问题的答案,

Google协议缓冲区和HTTP

如果你想要支持更多平台,如PHP,Ruby,C#等,Thrift看起来是一个非常好的选择。但是,与ProtoBuf相比,它看起来非常复杂。

谷歌开源了他们的RPC框架gRPC ,它使用Protocol Buffers来定义服务和消息。 gRPC是跨平台的,支持C,C ++,C#,Java,Go,Node.js,Python,Ruby,Objective-C和PHP。

gRPC基于HTTP / 2标准,支持新function,如双向流,流控制,报头压缩和多路复用连接。