Senior LevelExpress JS
How do you implement Load Shedding middleware in Express to drop low-priority traffic under CPU lag?
❓ Interview Prompt: Explain Load Shedding middleware, monitoring event loop lag with node:perf_hooks, and shedding low-priority requests under CPU overload.
When an Express server experiences extreme CPU load spikes, accepting all incoming requests causes system-wide cascading failure. Load Shedding drops low-priority requests immediately to preserve capacity for critical endpoints.
Load Shedding Middleware:
Monitor event loop lag using 'node:perf_hooks'. If event loop lag exceeds safety limits (e.g. >100ms), shed incoming low-priority requests immediately with HTTP 503 Service Unavailable, preserving capacity for checkout/login routes!
Code Implementation Example
javascript
import express from 'express';
import { monitorEventLoopDelay } from 'node:perf_hooks';
const histogram = monitorEventLoopDelay({ resolution: 20 });
histogram.enable();
const app = express();
// Load Shedding Middleware
app.use((req, res, next) => {
const eventLoopLagMs = histogram.mean / 1e6;
// If event loop lag exceeds 100ms and request is low-priority analytics, shed load!
if (eventLoopLagMs > 100 && req.path.startsWith('/api/analytics')) {
return res.status(503).json({ error: 'Server busy. Load shed.' });
}
next();
});💡Shedding low-priority API load under heavy event loop lag.
🎯 Interview Key Takeaway
Use Load Shedding middleware monitoring event loop lag to reject low-priority traffic and preserve server stability.
#Load Shedding#Event Loop#Resilience#Senior
Back to all Express JS Questions→