Jennifer88huang opened a new issue #6058: [docs] Add docs to specify whether the consumer push or pull URL: https://github.com/apache/pulsar/issues/6058 **Describe the bug** > Does the consumer push or pull? It looks like pull but I didn't see that in the docs. The wire protocol is actually *push*. The client sends "permits" to the broker to ask for messages. The broker will push the requested number of messages to the consumer. > Since it is pull and the receive call only receives 1 message at a time, is there a buffer to it? E.g. you can receive and that buffers 4096 bytes and then gives you one message at a time out of the buffer. There is a queue at the consumer side to receive messages pushed from broker. The queue size is configurable by `receiveQueueSize`. Each time `consumer#receive` is called. A message is dequeued from the buffer. > Mateo's post https://dzone.com/articles/a-developers-introduction-to-the-pulsar-streaming says it is a pull: > producers push dat$$anonymous$$nd from which consumers pull data. From API perspective, it is a "pull". But at the wire protocol layer, it is a "push" + client side queue. This behavior was never changed.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services