Sha*_*esh 3 google-cloud-platform google-cloud-pubsub grpc
我正在阅读谷歌关于拉取与流拉取的文档,但不太明白。有人可以向我解释其中的区别吗,如果有人实施了它并且可以向我指出资源,这也会有所帮助。非常感谢。
Kam*_*osn 19
使用 Cloud Pub/Sub pull 时,发送PullRequest和接收PullResponse包含最多请求中指定数量的消息的单个消息(如果获取消息时出现问题,则会出现错误)。每个请求都有一个对应的响应。使用流式拉取,发送一个StreamingPullRequest,它打开一个流,沿着它接收数据。当流打开时,StreamingPullResponse只要消息可以传送,Cloud Pub/Sub 就会发送更多消息。单个请求可能导致多个响应。
一般来说,为了获得最高的吞吐量和最低的延迟,流式拉取是正确的选择。流式拉取会保持与 Cloud Pub/Sub 的连接打开,因此消息一可用就可以发送到该连接。仅使用 pull 来实现这些属性可能很困难。如果没有流,消息只能在显式请求进来时传递。这些消息可能已经准备好传递一段时间了。为了通过拉取实现高吞吐量和低延迟,必须同时拥有许多未完成的请求,一旦旧请求收到响应,就会创建新请求。当订阅者需要对消息到达的时间进行更多控制并且延迟/吞吐量不是问题时,使用拉取是有意义的。
在云端发布/订阅客户端库是建立在流拉的顶部,因此,如果您可以使用其中的一个,你能避免需要直接实现流式拉电话。所有客户端库都是开源的,因此如果您想查看直接进行流式拉取调用的示例,可以查看代码。例如,Java 具有StreamingSubscriberConnection.
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |