Xray and RabbitMQ Nodes Recommendations

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
To mitigate performance bottlenecks, avoid port conflicts, and prevent unusual configurations, use a dedicated node for Xray and RabbitMQ with no other software running.
Scalability

Xray

You can create a high-availability cluster by adding multiple nodes (1, 2, 3, ...n) to distribute the workload and increase capacity.

RabbitMQ 

An odd number of servers is required for RabbitMQ to work effectively for Quorum Queues. We recommend a three-node cluster for RabbitMQ, and if additional capacity is needed, this can be met through vertical scaling. Connect with us if you see a need for this.

Quorum Queues Notes

Starting with version 3.124.x Xray supports Quorum Queues.RabbitMQ has discontinued support for Classic Queue mirroring in version 3.0 and deprecated it in version 4.0. With this, JFrog will be deprecating Classic Queue support in upcoming releases.

A highly available RabbitMQ cluster with Quorum Queues requires a minimum of three nodes.A two-node cluster with RabbitMQ Quorum Queues will not be fault-tolerant.More than three node clusters won’t add fault tolerance and can weaken RMQ performance.

RMQ QQ nodes

HA

Comments

1

No

Simple deployment. Good for POC or small setups.

2

No

Degraded mode. Not recommended for the production.Can be present temporarily, if one node of a 3-node cluster is down.

3

Yes

Can survive one node absence

4+

Yes

Possible performance degradation. Waste of nodes

For more information, please refer to the RabbitMQ Quorum Queues documentation here.