如何区分长链接和短链接接口

在 gRPC 中,区分长连接和短连接接口主要看 .proto 文件中定义的服务方法类型。gRPC 服务方法有三种类型:

  1. 简单 RPC (Unary RPC):客户端发送一个请求,服务端返回一个响应。这是最常用的短连接方式。
  2. 服务端流式 RPC (Server-streaming RPC):客户端发送一个请求,服务端返回一个响应流。这种情况下,连接会保持一段时间以传输多个响应。
  3. 客户端流式 RPC (Client-streaming RPC):客户端发送一个响应流,服务端返回一个响应。这种情况下,客户端可以持续发送数据,连接保持。
  4. 双向流式 RPC (Bidirectional streaming RPC):客户端和服务端都可以发送和接收响应流。这种情况下,连接会持续保持以支持双向通信。
    如何区分
    在 .proto 文件中,通过方法定义的 stream 关键字来区分:

短连接(Unary RPC):

rpc GetUserInfo(UserRequest) returns (UserResponse);

长连接(Streaming RPC):

// 服务端流式
rpc GetUserStream(UserRequest) returns (stream UserResponse);
// 客户端流式
rpc UploadUser(stream UserRequest) returns (UserResponse);
// 双向流式
rpc Chat(stream ChatRequest) returns (stream ChatResponse);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容