By using AWS re:Post, you agree to the Terms of Use

Is there a limitation on the number of topics in IoT Core?


Is there any limit or performance issue with the increasing number of topics?

Let's say I have 100 million devices and I want to be able to send messages specific to a device. First thing that comes to mind is to create a topic for each device and send to that topic. It is similar to a push message on a mobile device.

Does creating 100 million topics cause performance or governance problems?

1 Answers
Accepted Answer

IoT Core topics are not like SNS topics that are created resources. MQTT topics in IoT Core are not created or destroyed. They are an addressing scheme instead of a resource. There is an overview of this in an MQTT whitepaper here:

"An MQTT topic acts as a matching mechanism between publishers and subscribers. Conceptually, an MQTT topic behaves like an ephemeral notification channel."

At a high level there's not a limit on the number of topics and it is recommended to use a topic per device when possible. When it comes to management, I'd recommend following some of our best practices to make this easier:

  • We support features such as policy variables (so you can reduce the number of of total policies you manage).
  • We support thing groups so you can further group devices.

I also recommend using a common naming structure such that topics match with thing names in the registry 1) for policy variables 2) for management. The IoT Lens within the Security and Operational Excellence Well Architected Framework pillars discuss these topics in more depth:

answered 3 years ago

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