- Veröffentlicht am
Systemdesign-Cheat-Sheet
- Autoren

- Name
- AbnAsia.org
- @steven_n_t
Wir werden oft gebeten, für hohe Verfügbarkeit, hohe Skalierbarkeit und hohen Durchsatz zu entwerfen. Was bedeuten sie genau?

Das folgende Diagramm ist ein Cheat-Sheet für das Systemdesign mit gängigen Lösungen.
- Hohe Verfügbarkeit Dies bedeutet, dass wir einen hohen vereinbarten Auslastungsgrad sicherstellen müssen. Wir beschreiben das Designziel oft als „3 Neunen“ oder „4 Neunen“. „4 Neunen“, 99,99 % Auslastungsgrad, bedeutet, dass der Dienst nur 8,64 Sekunden pro Tag ausfallen darf.
Um eine hohe Verfügbarkeit zu erreichen, müssen wir Redundanz in das System einbauen. Es gibt mehrere Möglichkeiten, dies zu tun:
Hot-Hot: Zwei Instanzen erhalten dieselben Eingaben und senden die Ausgabe an den nachgelagerten Dienst. Wenn eine Seite ausfällt, kann die andere Seite sofort übernehmen. Da beide Seiten die Ausgabe an den nachgelagerten Dienst senden, muss der nachgelagerte Dienst Duplikate entfernen.
Hot-Warm: Zwei Instanzen erhalten dieselben Eingaben und nur die Hot-Seite sendet die Ausgabe an den nachgelagerten Dienst. Wenn die Hot-Seite ausfällt, übernimmt die Warm-Seite und beginnt, die Ausgabe an den nachgelagerten Dienst zu senden.
Einzelner-Leader-Cluster: Eine Leader-Instanz erhält Daten vom vorhergehenden System und repliziert sie auf andere Repliken.
Leaderloser Cluster: In diesem Clustertyp gibt es keinen Leader. Jeder Schreibvorgang wird auf andere Instanzen repliziert. Solange die Anzahl der Schreibinstanzen plus die Anzahl der Leseinstanzen größer ist als die Gesamtzahl der Instanzen, sollten wir gültige Daten erhalten.
- Hohe Durchsatzleistung Dies bedeutet, dass der Dienst eine hohe Anzahl von Anfragen innerhalb eines bestimmten Zeitraums verarbeiten muss. Gängige Metriken sind QPS (Anfragen pro Sekunde) oder TPS (Transaktionen pro Sekunde).
Um eine hohe Durchsatzleistung zu erreichen, fügen wir oft Caches zur Architektur hinzu, damit die Anfrage zurückgegeben werden kann, ohne langsamer I/O-Geräte wie Datenbanken oder Festplatten zu treffen. Wir können auch die Anzahl der Threads für rechenintensive Aufgaben erhöhen. Allerdings kann die Erhöhung der Anzahl der Threads die Leistung verschlechtern. Dann müssen wir die Engpässe im System identifizieren und dessen Durchsatzleistung erhöhen. Asynchrone Verarbeitung kann oft effektiv schwere Komponenten isolieren.
- Hohe Skalierbarkeit Dies bedeutet, dass ein System schnell und einfach erweitert werden kann, um mehr Volumen (horizontale Skalierbarkeit) oder mehr Funktionalitäten (vertikale Skalierbarkeit) zu unterstützen. Normalerweise beobachten wir die Antwortzeit, um zu entscheiden, ob wir das System skalieren müssen.
Bitte beachten Sie, dass die deutsche Version von Ai unterstützt wird und daher geringfügige Fehler auftreten können.
AUTOR
Über ABN Asia: Ai Base Network (ABN), ABN Asia wurde im Jahr 2012 gegründet und ist ein Unternehmen mit akademischem Hintergrund, das von Lehrkräften und ehemaligen Studierenden aus Ungarn, den Niederlanden, Russland, Deutschland und Japan gegründet wurde. Wir teilen eine gemeinsame Leidenschaft und eine klare Vision für Technologie, die Innovation und erstklassige Qualität für unsere Kunden bringt. Unser Motto lautet: Besser. Schneller. Sicherer. In vielen Fällen: Günstiger.
Zögern Sie nicht, uns zu kontaktieren, wenn Sie IT-Dienstleistungen, digitale Beratung, Standardsoftwarelösungen benötigen oder uns Angebotsanfragen (RFPs) senden möchten. Sie können uns unter [email protected] kontaktieren. Wir sind bereit, Ihnen bei all Ihren Technologiebedürfnissen zu helfen.

© ABN ASIA