是否有人使用websocket代替gRPC或REST api进行微服务之间的相互通信?

时间:2018-06-10 15:09:17

标签: websocket microservices grpc

Websocket拥有gRPC所做的一切,并以相同的方式实现。

这样的系统就是这样的例子。

如果不是为什么?

1 个答案:

答案 0 :(得分:3)

WebSocketHTML5 Features的旧标准部分,而gRPC是一个完整的远程过程调用机制。 gRPC在引擎盖下使用HTTP / 2。

也就是说,将 gRPC与WebSockets 进行比较有点像 apple to oranges 。 在我看来,HTTP / 2 vs WebSockets比较更有趣。这是我喜欢的链接:Will WebSocket survive HTTP/2?

除了裸通信协议本身之外,gRPC还可以处理更多内容。它添加了整个RPC层。您可以在proto文件中定义所有内容,并生成静态类型(取决于语言)客户端和服务器代码。 HTTP / 2是gRPC的实现细节,实际上,它可以使用WebSockets实现,但WebSockets不会在裸TCP通信之上添加太多(除了wss的安全层: //)

WebSockets更像是在HTTP / 1.1协议中不可用时实现服务器回退的解决方法,并且长轮询是唯一的选择。

回答这个问题:我不知道任何基于WebSocket的微服务互通框架,但我确实使用gRPC来实现这个目的,而且很棒;)