Architektur Fortgeschritten
Bulkhead Pattern — Fehlerisolierung¶
BulkheadResilienceIsolation 3 Min. Lesezeit
Ressourcenisolierung zur Vermeidung von Kaskadenfehlern. Thread Pools, Connection Pools.
Prinzip¶
Wie wasserdichte Schotten in einem Schiff — wenn ein Abteil überflutet wird, bleiben die anderen trocken. Jede Abhängigkeit hat ihren eigenen Ressourcenpool.
Implementierung¶
class BulkheadedService {
orderPool = new ConnectionPool({ maxSize: 20 });
paymentPool = new ConnectionPool({ maxSize: 10 });
async getOrder(id) {
return this.orderPool.execute(() =>
fetch('http://order-service/orders/' + id)
);
}
async processPayment(data) {
// Langsame Zahlung erschöpft nicht den Order-Pool
return this.paymentPool.execute(() =>
fetch('http://payment-service/pay', { method: 'POST', body: JSON.stringify(data) })
);
}
}
Typen¶
- Thread Pool Isolation — eigener Thread Pool pro Abhängigkeit
- Semaphore Isolation — Begrenzung gleichzeitiger Anfragen
- Process Isolation — Container mit Ressourcenlimits
Zusammenfassung¶
Bulkhead isoliert Ausfälle von Abhängigkeiten. Kombinieren Sie es mit Circuit Breaker für maximale Ausfallsicherheit.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.