🤖 AI Summary
This work addresses the degradation of differentiated quality-of-service (QoS) among service tiers (e.g., Premium vs. Freemium) under capacity-constrained failures in replicated databases, where conventional load balancing tends to homogenize performance. The authors propose Priority-aware Load Balancing (PLB), a novel mechanism that incorporates service tiers into post-failure downgrade strategies. PLB dynamically reassigns roles—Premium, Mixed, or Freemium—to healthy replicas via a repair-to-target approach within a shared replica pool, thereby preserving tier-specific QoS guarantees. Implemented as a PostgreSQL JDBC middleware, PLB supports session routing and dynamic role scheduling, effectively combining isolation with resource sharing. Experimental results demonstrate that under single-node and cascading failures, PLB improves median throughput retention for Premium services by 26–28 percentage points, achieves over twice the baseline throughput during the most severe failure phases, and reduces p95 latency by 18.2% compared to round-robin scheduling.
📝 Abstract
Elasticity is commonly presented as the default response to capacity loss after failures, since replacement replicas can compensate for failed nodes and restore pre-incident service levels. Replacement capacity entails both delay and additional resource commitment, as replicas must be provisioned and synchronized before they can serve traffic. Under fixed budgets or constrained operating conditions, capacity restoration cannot be treated as the immediate recovery path. Failure handling must instead define how the service continues while capacity remains reduced. When the service exposes differentiated service levels, capacity loss cannot be handled uniformly. Degradation becomes part of the service behavior, requiring explicit control over how reduced capacity affects each class without erasing the intended differentiation. We study differentiated QoS degradation in replicated database services with service-class-aware sessions. We present a repair-to-target policy, implemented in PLB, a PostgreSQL JDBC middleware load balancer for service-class-aware routing. When fail-stop failures remove part of the available capacity, PLB updates the role assignment of healthy replicas into Premium, Mixed, and Freemium roles. This keeps the replica pool shared while ensuring that new session assignments continue to reflect the service class. We evaluate PLB under single and cascading replica failures across two deployment strategies: isolated perclass replica pools and shared, priority-agnostic routing. The results show that PLB improves median Premium goodput retention by 26-28 percentage points under a Premium-side fault, achieves more than 2x higher Premium goodput in the most severe cascading-failure phase, and reduces Premium p95 latency by 18.2% relative to shared round-robin.