Was macht cloud-design-patterns?
Cloud-Design-Patterns für verteilte Systemarchitekturen mit 42 branchenüblichen Mustern aus den Bereichen Zuverlässigkeit, Leistung, Messaging, Sicherheit und Bereitstellung. Verwenden Sie diese bei der Planung, Überprüfung oder Implementierung verteilter Systemarchitekturen.
Kategorien
Zuverlässigkeit
- Circuit Breaker – Unterbricht wiederholte Fehler schnell und schützt das System vor Überlastung.
- Retry – Wiederholt vorübergehend fehlgeschlagene Vorgänge mit exponentieller Verzögerung.
- Health Endpoint Monitoring – Überwacht die Systemgesundheit über Endpunkte.
Leistung
- Cache-Aside – Lädt Daten bei Bedarf in den Cache und entlastet die Datenbank.
- Throttling – Begrenzt die Anzahl von Anfragen, um Überlastung zu vermeiden.
- Queue-Based Load Leveling – Glättet Lastspitzen durch eine Warteschlange.
Messaging
- Event Sourcing – Speichert Zustandsänderungen als Ereignisse, nicht als aktuellen Zustand.
- CQRS – Trennt Lese- und Schreibmodelle für verbesserte Skalierbarkeit.
- Publish-Subscribe – Verteilt Ereignisse an mehrere Abonnenten.
Sicherheit
- Gatekeeper – Schützt Dienste durch eine zentrale Autorisierungsschicht.
- Valet Key – Delegiert Zugriffsrechte mit zeitlich begrenzten Token.
- Federated Identity – Nutzt externe Identitätsanbieter für Authentifizierung.
Bereitstellung
- Blue-Green Deployment – Wechselt zwischen zwei Umgebungen für ausfallfreie Aktualisierungen.
- Canary Releases – Führt neue Versionen schrittweise für eine Teilmenge der Nutzer ein.
- Feature Toggles – Schaltet Funktionen dynamisch ohne neuen Build.
Verwendung
- Planung: Wählen Sie Muster basierend auf den nicht-funktionalen Anforderungen (z.B. Verfügbarkeit > 99,9%).
- Überprüfung: Bewerten Sie bestehende Systeme auf Verbesserungspotenziale durch Muster.
- Implementierung: Nutzen Sie Codebeispiele in den Sprachen Ihrer Cloud-Plattform (AWS CDK, Azure ARM, GCP Deployment Manager).