Hi I think camel-pulsar does an ACK per message at the end of routing. Then the performance may become slower.
kafka uses async commit every 5 sec in the background (by default). for camel-pulsar you can also use manual ack, and then find a way to batch acks. But maybe there is a way in pulsar to also ack like kafka via a background task. And maybe we can improve camel-pulsar to make this easier to do out of the box. Of course if you do async acks, then you can have duplicates in case the app crashes and is restarted, then pulsar will resume from last known "ack" position. On Mon, Apr 17, 2023 at 5:04 PM Steve973 <steve...@gmail.com> wrote: > Hello. I have been experimenting with the Camel Pulsar component as a more > performant alternative to traditional JMS brokers. I have seen performance > comparisons that set Pulsar even above Kafka in most cases. It is reported > that Pulsar can handle (~3.5) millions of messages per second. In my use > case, I am sending very simple messages, where I have a couple of headers, > and a payload that is a simple POJO with a string field and a map with > between one and five entries, depending on the message. I am using > protobuf to de/serialize the message body. I am seeing approximately one > thousand messages per second. I can only assume that it is "user error" on > my part, but I was wondering if any of you have an example that > demonstrates performance that is more on-par with the advertised message > rate. If not, how can I determine what is slowing down Pulsar's > performance in my use case? > > Thanks, > Steve > -- Claus Ibsen ----------------- @davsclaus Camel in Action 2: https://www.manning.com/ibsen2