Spring Cloud Stream | Solace connections

kirthi
kirthi Member Posts: 18

Hi All,

I am running a microservice with Spring cloud stream

The batch mode is true and batch size is 255.

So does the service opens 255 connections to read the msg ?

as i am seeing the window size is 255. which controls this window size of the solace queue.

Best Answer

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 898 admin
    #2 Answer ✓

    Hi @kirthi,

    Nope! The app will still only create 1 connection. From our docs the window size defines "the maximum number of messages that can be in transit (that is, the messages are sent from the broker, but are not yet delivered to the application)"

    Note that in PubSub+ Manager if you navigate to Clients -> choose your client -> Connections you should also see only 1 Connection.

    Hope that helps!

Answers

  • kirthi
    kirthi Member Posts: 18

    This is the attached screenshot of the consumer

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 898 admin
    #4 Answer ✓

    Hi @kirthi,

    Nope! The app will still only create 1 connection. From our docs the window size defines "the maximum number of messages that can be in transit (that is, the messages are sent from the broker, but are not yet delivered to the application)"

    Note that in PubSub+ Manager if you navigate to Clients -> choose your client -> Connections you should also see only 1 Connection.

    Hope that helps!

  • kirthi
    kirthi Member Posts: 18

    Thanks Marc.

    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<String>>, Collection<Message<SafeStoreObject>>> receiveMessage()

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

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

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

    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?

  • Tamimi
    Tamimi Member, Administrator, Employee Posts: 489 admin

    Hey @kirthi - I would recommend starting a new discussion for your last comment :)