Konkrete technische Aspekte Flashcards
Was sind Verteilte Systeme
„In einem verteilten System kooperiereneine Reihe von Komponentenindem sie über ein Netzwerkkommunizieren.“ –Frank Buschmann
Warum werden Verteilte Systeme verwendet?`
◼Interaktion zwischen Anwendern ermöglichen
◼Verbindung zu Alt-oder Fremdsystemen herstellen
◼Gemeinsame Nutzung von Ressourcen ermöglichen ◼Zuverlässigkeit, Verfügbarkeit und Ausfallsicherheit erhöhen (Redundanz)
◼Performanz verbessern (Redundanz und / oder Arbeitsteilung)
◼Administrierbarkeit erhöhen
Warum ist es schwer verteilte Systeme zu verwenden?
Annahmen sind fehlerhaft BSP: ◼Das Netzwerk ist ausfallsicher. ◼Die Topologie wird sich nicht ändern. ◼Die Latenzzeit ist gleich Null. ◼Die Bandbreite ist unendlich. ◼Das Netzwerk ist sicher. ◼Es gibt nur einen Admin. ◼Datentransport kostet nichts. ◼Das Netzwerk ist homogen
Was ist das CAP Theorem?
Das CAP-Theorem oder Brewers Theorem besagt, dass es in einem verteilten System unmöglich ist, gleichzeitig die drei Eigenschaften Consistency (Konsistenz), Availability (Verfügbarkeit) und Partition Tolerance (Ausfalltoleranz) zu garantieren
Was für Muster/Arten der Verteilung gibt es?
n-Tier Architektur
Häufigste Form: 3-TierArchitektur MVC
Kommunikation zwischen Tiers -Broker Ein Vermittler (Broker) ist für die Koordination und Kommunikation zwischen verteilten, entkoppelten Komponenten (oder Tiers) zuständig.
Kommunikation zwischen Tiers –Remote Facade
◼Eine Fassade fasst feine, zusammengehörige Methoden einer Objektschnittstelle zu einer grobkörnigeren Schnittstelle zusammen.
◼Bei entfernten Zugriffen wird die Anzahl der Aufrufe reduziert.
Was ist der Circuit Breaker?
Eine circuit breaker ist ein Verhaltensmuster. Es dient dazu, wiederkehrende Verbindungsfehler zu einer Ressource, wie z. B. einer Datenbank oder einem Webservice, zu entdecken und den Zugriff zu der Ressource für eine vorgegebene Zeit zu blockieren
Was wird im Verteilungsdiagramm dargestellt?
Verfeinerung des technischen Kontexts -> Welche Plattform? Betriebssystem Runtime Environment ApplicationServer
Was wird im Verteilungsdiagramm dargestellt?
◼die Abbildung von Architektur auf physische Artefakte wie Code und Server
◼die Betrachtung technischer Aspekte des Systems getrennt von der Bausteinsicht
◼Feedback: Deployment -> Bausteinsicht: logische Bausteine evtl. anders schneiden
Das Verteilungsdiagramm(Deployment diagram)zeigt die Laufzeitarchitektur des Systems
Was ist eine Taktik?
„A tacticis a design decision that influences the control of a quality attribute response“.
Wie hängen Taktiken und Qualitätsanforderungen zusammen?
Qualitätsanforderungen werden durch Praktiken gelöst
Performance, Wartbarkeit, Sicherheit, Skalierbarkeit, Robustheit/Fehlertoleranz, Verständlichkeit/Nachvollziehbarkeit