I had the following situation:
On a property automation system with many controllers talking to each other and an automation system controlling them all, one of the controllers crashed and went into an endless publish loop and caused the automation system to become very sluggish due to processing the updates.
The broker was holding up, but the automation system was hours behind processing 'real data' after the controller sent 100s of thousands of messages over night (some 8 hours).
While the root cause of the buffer overflow causing the crash has been fixed; a mqtt client could always misbehave for any number of reasons, thus flooding the broker.
I am looking for ways, such as listening to the number of posts from a client, and isolate the client. Not sure ho I do the latter, but managed switches may allow for Ethernet port isolation.
Anyone knowing any solutions for this problem?