halfgaar / FlashMQ

FlashMQ is a fast light-weight MQTT broker/server, designed to take good advantage of multi-CPU environments
https://www.flashmq.org/
Open Software License 3.0
185 stars 24 forks source link

Question #9

Closed gmonk closed 1 year ago

gmonk commented 2 years ago

Do you have any comparison on features as compared to other brokers such as clustering etc... I see from the videos that performance is not an issue but If I decide to go with flashmq will I suffer from lack of features and then end up going back to a lesser performing broker ? I am not looking to push 1M messages per second but I have noticed with lower hardware specs other brokers such EMQ and VernMQ have had issues with large volumes of messages so your broker seems to fit well in this area.

Thank you,

Gary

halfgaar commented 2 years ago

A comparison, not as such. But, because MQTT doesn't store data, you don't really commit to a specific server, unless you start writing custom plugins. So, I'd say give it a try.

One reason for making FlashMQ is that the client and message volumes that would suffice for many use cases, should not require a cluster. It strives to be a complete enough solution for that. The 1.0.0 version, which will come soon, will just be relatively simple, stable, fast MQTT5 server. New (requested) features after that will be there to support the original design goal, so clustering is not on the list as it is.

When it comes to things like dashboards/control panels, that would probably be external projects. It's easy to just put a Grafana dashboard on the $SYS topics for stats, and when one actually needs a user/device management control panel, that is also better served as separate project, using the authentication plugin. For example, if one can make a panel in any language to create some database records with users, it's easy to retrieve those from the plugin.