i am planning to use HiveMQ in one of solution.
i went through HiveMQ documentation. I have few queries on the integration part.
subscriber device authentication (CONNECT) can be routed from Extension SDK to our backend application using REST API? or Any listener callback ? so that we can authenticate device and give authorization. If yes, any example/reference code snippets will help.
wanted to create a dedicated topic (~2 million devices) for each device to deliver exclusive message targeted to each device.
is there any provision to set restrictions like rate limiters for a device ? Just to ensure MQTT broker shall not be engaged with serving unauthorized devices CONNECT requests.
What are server sizing parameters (no of cores/ RAM) where 1 MQTT broker can server how many current messages ? Assume we are using TCP/TLS setup.
Thank you for reaching out, and welcome to the HiveMQ Community!
Out of the box, HiveMQ does not invoke additional APIs. Instead, HiveMQ offers support for custom extensions which can be implemented to fill this need. I believe our security registry page within our extension developer guide contains the information you’re looking for. For authentication, this extension is a great item to review for more information. To prevent the blocking of calling web services, the Managed Extension Executor Service is also recommended.
This should be feasible with HiveMQ without additional configuration requirements, so long as the utilized broker or cluster deployment supports this volume.
Connect Overload Protection is a default feature of HiveMQ, and allows for dynamic overload protection as well as specific throttling, though this functions on a Cluster-level, rather than per device. The enterprise edition supports configuration per-listener, but it is not per-device as well.
As this can vary widely between deployments and configurations, it’s recommended to reach out to our team at email@example.com in order to review your specific requirements in order to determine the optimal configuration. The estimated max connection limit per-broker (i.e. a single node deployment) is 1 million, though we recommend between 250,000 and 500,000 as a safe maximum per node.
Please feel free to reach out if you have any further questions, and welcome, once more, to the HiveMQ community!