Spring Cloud Stream Batch Consumer and Batch Publisher using Function

Thanks Giri.

In our micro service, we are using solace binder with SCS, during non-functional testing we found some differences in performance, Could you please help to understand.

  1. service - Processor is used. The TPS is approx 200 TPS.

Function<Message<List>, Collection<Message<SafeStoreObject>> > receiveMessage()

Output : The individual messages are placed in the destination topic/queue.

  1. service - Processor is used. The TPS is approx 2000 TPS.

Function<Message<List>, List<SafeStoreObject> > receiveMessage()

Output : Batch messages are combined as one List and placed in the topic/queue.

How to improve the TPS ? only the publishing part takes ample time.

Is it because the acknowledgement of each message is taking a lot of time ?

How to fine tune our service to achieve good TPS ? any property specific to reduce the ack time for the publisher?