Load Balancing for Storage Clusters

Jetpath can distribute traffic across MinIO, Ceph, or other S3-compatible storage backends using standard L4/L7 load balancing:

Weighted Distribution

Distribute requests across storage nodes based on capacity using weighted round-robin.

Session Persistence

Keep multi-part uploads on the same backend with source IP persistence.

Health Checks

Route around unhealthy storage nodes automatically.

Configuration Example

Configure Jetpath for a MinIO cluster:

{
  "name": "minio-cluster",
  "protocol": "tcp",
  "listeners": [{"vip": "10.0.0.100", "port": 9000}],
  "lb_policy": {"type": "weighted_round_robin"},
  "persistence": {
    "enabled": true,
    "type": "source",
    "timeout_sec": 3600
  },
  "destinations": [
    {"id": "minio-1", "ip": "10.0.1.10", "port": 9000, "weight": 1},
    {"id": "minio-2", "ip": "10.0.1.11", "port": 9000, "weight": 1},
    {"id": "minio-3", "ip": "10.0.1.12", "port": 9000, "weight": 1},
    {"id": "minio-4", "ip": "10.0.1.13", "port": 9000, "weight": 1}
  ]
}

Supported Load Balancing Algorithms

AlgorithmUse Case
Round RobinEqual distribution across identical storage nodes
Weighted Round RobinDistribute based on node capacity
Least ConnectionRoute to node with fewest active connections
Source PersistenceKeep client sessions on same node for multi-part uploads