Number of messages mqtt subscriber can process per second

0

We will have 10k devices which will publish the messages to a single mqtt. So generally, 10k messages per second will be published to a single topic. We have subscriber in java/spring-boot. I have read somewhere that subscriber can able to process at max 100 messages/second. If that is the case, then in order to support such scale we need to have 1k pods of this microservice and then use shared subscription which is not feasible. So I wanted to understand that does this number (100 message per second subscriber can process) is fixed or it is adjustable or is it dependent on other factor as well like the time required to process a single message etc.

caspi
asked 10 months ago1143 views
1 Answer
3

Hi Happs,

the limit of messages per second per connection you are referring to is a non adjustable limit. In such a fan-in scenario it is a best practice to route your messages from multiple devices with an IoT rule to another AWS service like Kinesis Data Streams/Data Firehose or SQS. You can find more information about such patterns in the Designing MQTT Topics for AWS IoT Core whitepaper.

Cheers,
Philipp

AWS
EXPERT
answered 10 months ago
profile pictureAWS
EXPERT
Greg_B
reviewed 10 months ago
  • We will have 10k devices which will publish the messages to a single mqtt. So generally, 10k messages per second will be published to a single topic.

    Just to add, we typically recommend that each device publish to its own unique topics, and the IoT Core policy use policy variables to achieve least privilege. The rules engine can use wildcards to still achieve the fan-in that Philipp mentions.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions