🎄 Happy Holidays! 🥳
Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.
Happy Holidays!
Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.
What is the recommended solace message size /range?
Hello All, I understand that there is no straightforward answer for my question. I read the blog https://solace.com/blog/inside-a-solace-message-part-3-payload-data/ from Tom as well. I am trying to arrive standard/best practice/guardrails in my company so that the expectation is set right and the teams are conscious when they design the publishers. Of course, it depends on the source system that produces and the domain of the applications. To give an idea, in the current EMS majority of the payload size ranging from 10 KB to 1 MB. Maximum it goes to 5MB in very few use cases. Should I align towards the same? Kindly share your expert views.
Best Answer
-
Hi @ponnusamy , Since you already set the expectations for the answer, its easier to answer :-). The max-msg-size in the Queue/VPN is a means to protect the infrastructure from few misconfigured or misbehaving publishers hogging the resources and also to protect the consumer apps from dealing with unexpectedly large messages. This also allows any pass thru publishers (eg: republishers / connectors receiving message from external systems and publishing to downstream solace apps) get notified when unexpected large message flows thru them.
If you are migrating the EMS apps to Solace and if you have seen max payload of 5MB in EMS, then it would seem natural to align with that in Solace as well.
One thing to keep in mind is that very large messages do take more time in the processing pipeline. If you are designing your application for low latency requirements with mostly small messages, then it would make sense to reject large messages to improve the overall latency.0
Answers
-
Hi @ponnusamy , Since you already set the expectations for the answer, its easier to answer :-). The max-msg-size in the Queue/VPN is a means to protect the infrastructure from few misconfigured or misbehaving publishers hogging the resources and also to protect the consumer apps from dealing with unexpectedly large messages. This also allows any pass thru publishers (eg: republishers / connectors receiving message from external systems and publishing to downstream solace apps) get notified when unexpected large message flows thru them.
If you are migrating the EMS apps to Solace and if you have seen max payload of 5MB in EMS, then it would seem natural to align with that in Solace as well.
One thing to keep in mind is that very large messages do take more time in the processing pipeline. If you are designing your application for low latency requirements with mostly small messages, then it would make sense to reject large messages to improve the overall latency.0 -
Thank you @nram for your response. I think when the applications use Solace, truly for event driven architecture to exchange events , then the message size can very well be within the limits. Instead, if it is used just to exchanges message of large contents then that's when the problem comes.
0 -
HI @ponnusamy ... Steve and I talked about this question a bit on my Office Hours (link)... thought you'd maybe like to see.
0