grpc:grpc 是否提供了在同一进程中访问服务器的有效方法?

grpc: does grpc provide efficient way to access server within the same process?

如果客户端和服务端在同一个进程,有没有快捷方式可以高效访问?比如没有消息编组,直接调用函数等

Java 有一个能够避免序列化的进程内传输(InProcessChannelBuilder 和 InProcessServerBuilder)。如果您在客户端和服务器上都使用 directExecutor() 那么它会变得更接近 "direct function call".

C++ 也有进程内传输(服务器上的 InProcessChannel()),但它会序列化和反序列化消息。由于大多数基于 C 的语言使用可变协议缓冲区,即使它可以避免序列化,它仍然需要制作某种副本; Java 的协议缓冲区是不可变的。