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

时间:2017-05-22 05:04:45

标签: java node.js go ipc grpc

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

现在,我试图决定是否应该使用IPC管道或者使用gRPC和protobuff并使用它们。

1 个答案:

答案 0 :(得分:0)

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

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

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