+ users@pulsar.incubator.apache.org A short answer is: yes, every message has the status for acknowledgement. pulsar uses a bookkeeper ledger for storing the changes for message acknowledgements.
for cumulative acknowledgment, pulsar stores the updates for the acked message id (you can think it as an offset in the log) in the bookkeeper ledger. that says if pulsar receives a cumulative ack, it stores the ack as an entry to the ledger. for ack individually, pulsar broker maintains range set of message ids, it contains a pointer of message id where all the messages before this pointer are acked and a range set of individual acks. since pulsar uses bookkeeper ledgers for storing acks, it is able to achieve very high throughput acks. Ivan wrote a good blog post about how pulsar uses bookkeeper for storing acks - https://streaml.io/blog/cursors-in-pulsar/ Hope this helsp. - Sijie On Mon, Jul 30, 2018 at 3:47 AM li.penghui <li.peng...@zhaopin.com.cn> wrote: > After read the blog of pulsar-streaming-queuing > https://streaml.io/blog/pulsar-streaming-queuing/ > I have questions in Message Acknowledgment > How pulsar support the ack way of individually. Is every message has > status for acknowledge? >