21

Internet Web Applications (Fach) / 10) Caching (Lektion)

Morgen Exam letzgoo!

Diese Lektion wurde von Sogn erstellt.

Lektion lernen

Anzeige
  • Was sind Web Caches? Vorteile? Mechanismus, um Webinteraktion zu beschleunigen. Dies erfolgt durch Speichern von Kopien abgerufener Ressourcen lokal auf dem Rechner, sodass sie später nicht mehr aus dem WWW heruntergeladen werden muss. Jedes Mal, wenn für die Darstellung einer Seite die Inhalte zu einer URL benötigt werden, wird zuerst im Cache nachgesehen, ob diese bereits vorhanden sind. -> Spart Bandbreite, Server Load und Lag
  • Wer benutzt Web Caching? Internet Service Provider für ihre User Web Server Provider  Meist benutzen sie mehrere Caches parallel, bestehen aus Untermengen der gecacheten Dokumente
  • Welches Protokoll nutzen Internet Caches? Wie funktioniert es? Internet Cache Protocol (ICP) Hierbei handelt es sich um ein Request/Response Protokoll, welches für Koordination  und den On-Demand Datenaustausch der Webcaches zuständig ist . Cache-Instanzen Kommunizieren mit UDP → jeder Cache nur ein UDP-Socket Ziel: Proxy- bzw. Cache-Server durch kleine Nachrichten zu einem Verbund zusammenzuschalten -> Cache so effizient wie möglich zu verwalten -> Zahl der Zugriffe auf Server zu minimieren (remote requests)
  • Welche message besitzt ICP? ICP_OP_QUERY (Request) ICP_OP_HIT (Ressource im Cache) ICP_OP_MISS (Nich im Cache)
  • Wie funktioniert die Kommunikation bei ICP? Es wird ein HTTP Request an einen Cache gesendet. Der Cache schaut, ob er die Ressource besitzt. Wenn nicht, sendet er ein ICP_OP_QUERY an einen weiteren ICP Cache. Sendet dieser ein ICP_OP_HIT, so leitet der erste Cache einen HTTP Request an diesen weiter, worauf er mit einem HTTP Reply mit dem angefragten Dokument antwortet und es zum Client sendet. Das neue Dokument wird im Cache gespeichert.
  • Wie funktioniert die hierarchische Verteilung bei ICP? Unterteilung in Parent, Child und Sibbling-Caches o Parent-Caches nah an Datenquelle (nah am Backbone)o Cache versucht Request zunächst mit Sibblings auszuführeno Wenn diese keinen oder alten Inhalt haben wird der Parent angefragto Parent-Caches holen die eigentlichen Web-Ressourcen und verteilen es an Siblings
  • Welche Konsistenzstufen gibt es beim Caching? Strong Cached Versions sind immer up-to-date Delta Cached Versions werden in einem konstanten Zeitraum geupdated (zb. alle 4 min) Weak Cached Versions sind vielleicht up-to-date oder nicht
  • Erläutern Sie Arten um Cache Konsistent zu halten! Server-driven Consistency Content Provider gibt den Caches Bescheid, sofern ein neues Update verfügbar ist (Web Content Distribution Protocol) Client-driven Consistency Client erfragt nach Updates via Polling Leases Approach Updates nur in festgelegtem Zeitraum  veröffentlicht
  • Was ist das Web Content Distribution Protocol? HTTP und XML-basiertes Protokoll um replicated content zu updaten. Es unterstützt alle drei Konsistenzarten.
  • Wie genau funktioniert das Leases-based Caching? Wie bestimmt man dessen Zeitfenster? Cache Server sendet Lease Request an Origin Server Origin Server send Lease Information Wird dieses Zeitfenster überschritten, müssen die Clients den Lease Request erneuern. Die Größe diese Fenster bestimmt sich aus folgenden Faktoren: Age-based (Umso langlebiger das Dokument, umso länger das Fenster) Renewal-frequency-based (Populäre Dokumente werden länger geupdated) Server load based (kleinere Zeitfenster bei hohem Serverload)
  • Anzeige
  • Was sind Nachteile von Web Caching? Da Caching Proxies von ISPs bereitgestellt werden, bedienen diese meist nur ihre ISP Nutzer oder Web Server No Network Wide Optimatzation, es gibt keinen der sich um alle Caches auf der Welt kümmert oder diese synchronisiert -> Schwer zu managen Content ist nicht proaktiv gecached, sondern nur im Intervall Requested Documents Flash-Crowd, viele Nutzer greifen auf eine neue Quelle zur gleichen Zeit zu
  • Was sind CDN? Was sind die Vorteile gegenüber Proxy (Web Caching)? Ein Content Distribution Network ist ein Netzwerk bestehend aus verschiedenen Computern, welche replizierte Datein an verschiedenen Knoten im Netzwerk enthalten. Sehr gut skalierbar Sehr stabil, auch bei Flash Crowd und Streaming Der Cached Content ist festgelegt und ändert sich nicht
  • Wie ist die Funktionsweise von CDN? Sendet ein Client eine Anfrage an das CDN, dann wählt das Request-Routing-System einen geeigneten Replica-Server. Bei der Auswahl bezieht es Kennzahlen über deren aktuelle Belastung (zum Beispiel CPU-Auslastung, Anzahl der aktiven Verbindungen) und über die Netzwerkverbindung zwischen Client und Server (zum Beispiel geographische Entfernung, Latenzzeit, Übertragungsrate), seltener über die Identität des Clients (zum Beispiel Unterscheidung zwischen Standard- und Premium-User) mit ein, die ihm durch das Accounting-System zur Verfügung gestellt werden.
  • Wie ist ein CDN aufgebaut? Ursprungsserver, auf dem der Inhalteanbieter die zu verteilenden Inhalte ablegt Replica-Servern, die Kopien dieser Inhalte vorhalten Distributionssystem, das die Inhalte auf den Replica-Servern verteilt. Für die Umleitung der Benutzeranfragen auf die einzelnen Replica-Server ist ein Request-Routing-System zuständig, welches sich dabei auf verschiedene Kennzahlen über diese Server stützt, die ihm vom Accounting-System geliefert werden.
  • Wie verteilt ein Server seine Daten ins CDN? Originserver kopiert seine Datein proaktiv ans CDN Distribution Subsystem verteilt Content auf verschiedene Replica Server Die Verteilung wird dem Request Routing Subsystem mitgeteilt Requests gehen direkt ans Request Routing System, welches einen geeigneten Server sucht Replika Server sendet Response mit Content an User Die Menge an Content wird noch an ein Accounting System weitergeleitet um Customers abzukassieren
  • Vergleich CDN und P2P! CDN Sammlung vernetzter Computer Verteilung auf Replika Server Ziel: Latenz während Content Delivery reduzieren Integrität garantiert Starke Cache Consistency Nicht autonom, Central Provider P2P Sammlung von Peers, File Retrieval Network mit ad-hoc Aggregation Zusammenarbeit von Peers Ziel: File Sharing zwischen Peers Integrität nicht vorhanden Schwache Cache Consistency Autonom
  • Was ist Akamai und wie funktioniert das Routing? Akamai ist das größte CDN weltweit. Um Domain Names in IP Adressen umzuwandeln, wird ein lokaler Domain Server  (DNS) angefragt DNS Server sendet den Request an einen höheren Server, welcher den Domain auf einen anderen Domain mappt Der neue Domain wird mithilfe eines weiteren Name Servers aufgelöst und zu einem Akamai Domain Server gesendet Akamai Domain Server leitet Request an Domain Server eines Subnetzwerks, welches sich um den Request kümmern kann IP Adresse des Replika Servers geht an den DNS zurück und somit kann der User einen Request an diesen stellen
  • Wie werden Requests bei Akamai zum Replika Server weitergeleitet? Two Step Approach: Nachdem ein naheliegendes Cluster gewählt worden ist , wird ein bestimmter Replika Server innerhalb dieses Clusters ausgewählt Die Wahl des Server basiert auf der IP Adress-Range des Users/DNS und weiteren gesammelten Daten (network load..), gespeichert von einem Monitoring System Ebenso Konfiguartionsoptionen
  • Was sind Community Networks? Netzwerke, welche von dezentralisierten Usern erstellt werden, welche ebenso zuständig für dessen Content und Services sind. Peer to peer basierte Protokolle werden benutzt Somit sind dies Netzwerke kombiniert aus P2P und CDN
  • Was ist Load Balancing? Große Mengen von Anfragen werden auf mehrere parallel arbeitende Systeme verteilt mit dem Ziel, ihre gesamte Verarbeitung effizienter zu gestalten -> ensure high availability and performance of Web applications
  • Welche Arten von Load Balancing gibt es? Wie unterscheiden sie sich? Load Balancing (Round Robin) Server nacheinander aufgerufen -> keine dynamische Delegation anhand ihrer momentan Server Load -> Neue Public IP für jeden redundaten Server Proxy-based Load Balancing Software Proxy leitet Anfrage zu einem Server, aus seiner Gruppe identischer Server auf denen die Web-Applikation läuft, weiter-> Statische Anzahl Server Elastic Load Balancing Automatische Skalierung zum dynamischen Erstellen undTerminieren von Virtual Machines basierend auf Systemen oder Applicaon-States