I am using RabbitMQ with Spring AMQP
- large message (>100MB, 102400KB)
- small bandwidth (<512Kbps)
- low heartbeat interval (10 seconds)
- single broker
It will take >= 200*8 seconds to consume the message, which is more than my heartbeat interval. From https://stackoverflow.com/a/42363685/418439
If the message transfer time between nodes (60seconds?) > heartbeat time between nodes, it will cause the cluster to disconnect and the loose the message
- Will I also face the disconnection issue even I am using single broker?
- Does the heartbeat and consumer using the same thread, where if consumer is consuming, it is not possible to perform heartbeat?
- If so, what can I do to consume the message, without increase heartbeat interval or reduce my message size?
Update:
I have received another answer and comments after I posted my own answer. Thanks for the feedback. Just to clarify, I do not use AMQP for file transfer. Actually the data is in JSON message, some are simple and small but some contain complex information, include some free hand drawing. Besides saving the data at Data Center, we also save a copy of message at branch level via AMQP, for case connectivity to Data Center is not available.