Per virtual host connection limit inevitably requires either
An eventually consistent counter
A cluster-wide query of local counters (this is what current versions like 3.12 and 3.13 have)
We also have per-node limits which do not require any of the above and use a local counter/connection table.
For 4.0, the team has decided to drop per-vhost support for protocols other than AMQP 0-9-1 (where we see them used), namely protocols like MQTT where very large numbers of concurrent connections is much more common, and that may or may not even have the concept of a virtual host (MQTT does not).
This would allow us to extent per-node connection limits to all of those protocols without paying a hefty performance penalty for newly established connections.
Per virtual host connection limit inevitably requires either
We also have per-node limits which do not require any of the above and use a local counter/connection table.
For 4.0, the team has decided to drop per-vhost support for protocols other than AMQP 0-9-1 (where we see them used), namely protocols like MQTT where very large numbers of concurrent connections is much more common, and that may or may not even have the concept of a virtual host (MQTT does not).
This would allow us to extent per-node connection limits to all of those protocols without paying a hefty performance penalty for newly established connections.
This discussion was initiated by some initial QA/review feedback for https://github.com/rabbitmq/rabbitmq-server/pull/9876.