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

Reply via email to