Java 为什么我应该使用gRPC而不是IPC/简单websocket?

Java 为什么我应该使用gRPC而不是IPC/简单websocket?,java,node.js,go,ipc,grpc,Java,Node.js,Go,Ipc,Grpc,我正在为一个微服务系统绘制一个架构,该系统计划目前在一台机器上运行(将来可能会发布)。 系统将由Node.js、GO和Java中编写的服务组成。 node.js和Java都需要从GO服务器传递指令和接收结果 现在,我正在尝试决定我应该在gRPC和protobuff上使用IPC管道还是升级并使用它们。它们在不同的抽象级别上,有不同的用途,因此问题中的“或”是错误的您将需要这两种类型(传输和编码),即使您重新实现其中一种 IPC与匿名或命名管道一样,通常被称为传输,它们无法对多个指令或结果进行编码(

我正在为一个微服务系统绘制一个架构,该系统计划目前在一台机器上运行(将来可能会发布)。 系统将由Node.js、GO和Java中编写的服务组成。 node.js和Java都需要从GO服务器传递指令和接收结果


现在,我正在尝试决定我应该在gRPC和protobuff上使用IPC管道还是升级并使用它们。

它们在不同的抽象级别上,有不同的用途,因此问题中的“或”是错误的您将需要这两种类型(传输和编码),即使您重新实现其中一种

IPC与匿名或命名管道一样,通常被称为传输,它们无法对多个指令或结果进行编码(尽管它们对字节流进行编码)


gRPC和protobuf需要一个传输,支持多个传输,并添加更细粒度的编码(如何表示整数、列表等),甚至可能更多。支持编码的技术通常可以嵌套在传输或编码中,这在与HTTP一起使用的技术中很常见,这可能有意义,但可能只添加了一层而没有使用。

这些技术在不同的抽象级别上,有不同的用途,例如问题中的“或”是错误的您将需要这两种类型(传输和编码),即使您重新实现其中一种

IPC与匿名或命名管道一样,通常被称为传输,它们无法对多个指令或结果进行编码(尽管它们对字节流进行编码)


gRPC和protobuf需要一个传输,支持多个传输,并添加更细粒度的编码(如何表示整数、列表等),甚至可能更多。支持编码的技术通常可以与传输或编码嵌套,这在与HTTP一起使用的技术中很常见,这可能有道理,但可能只添加了一个层而没有使用。

感谢您的澄清-我想我需要重新措辞。感谢您的澄清-我想我需要重新措辞。首先:node是否有grpc/protobuf客户端库?如果不是的话,这个问题是没有意义的。第一件事是:node是否有grpc/protobuf客户端库?如果不是的话,这个问题是没有意义的。