Over time, the users of the CSN increased rapidly and the workload of the system was increasing even more rapidly on a daily basis. It was estimated that this growth might cause issues with the single RabbitMQ broker instance, which essentially turned out to be a bottleneck.
That is why the team behind the CSN decided to introduce several new RabbitMQ instances installed on separate powerful servers and separate the queues from the
v_events vhost on one node and the queues from the
v_chat host on two other nodes:
This not only improved the performance of the system (as shown by the benchmarks the CSN did over the new configuration) but also mitigated the risk of resource depletion on the single RabbitMQ server the system had.
Note that we are providing clustering support only on behalf of the message broker and this concept can be applied to the other components of the system.