gRPC中的分页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gRPC中的分页相关的知识,希望对你有一定的参考价值。

我正在使用gRPC对一个调用进行分页,并试图弄清楚它的选项/近似值。这是一个明智的问题吗?我可以用什么资源来做这件事?

答案

这个问题已经很老了,但我觉得答案中缺少一些东西。

虽然流媒体是恕我直言的首选,但我认为“传统”分页非常有用。让我们设想一个user服务,它允许CRUD访问用户存储,并具有ListUsersSearchUsers rpc。将结果分成页面在这里更方便。

我个人使用谷歌的方法:qazxsw poi

另一答案

分页与分块二进制有效负载非常相似。我在https://github.com/googleapis/googleapis/blob/master/google/cloud/resourcemanager/v2/folders.proto的回答可能值得一读。

也就是说,分页可能有不同的权衡,因为它通常会大大降低吞吐量,有时候使用单独的请求并不困难。低吞吐量可以很快阻止流量控制,使其有用。使用单独的请求对于完全动态的结果(如搜索结果)来说更难,但对于更多静态数据(如资源的子项)可能不是很大的问题。

由于gRPC流控制可能会缓冲太多,因此另一个选择是使用流式传输但引入应用级流控制。使用应用程序级流控制,您可以使用流上的消息请求您需要多少响应,这不是很难使用或实现。有人一直在谈论在gRPC中支持精确的基于消息的流量控制(在这种情况下会产生类似的结果),但是不清楚是否以及何时会发生这种情况。

以上是关于gRPC中的分页的主要内容,如果未能解决你的问题,请参考以下文章

Oracle中的分页代码

iCarousel 中的分页

php中的分页显示

django中的分页器

ssh框架中的分页查询

如何解决 JQgrid 中的分页器显示