Mit den Tipps und Workshops im ADMIN-Magazin 03/2013 sichern Administratoren ihre Webserver und Netze gegen Angriffe ab: gegen Abhören sensibler Informationen, ... (mehr)

Lastverteilung

Die Lastverteilung des Loadbalancers kann nach Round Robin, Least Connection oder IP Hash erfolgen. Sticky Sessions, die eine Sitzung eines Anwenders immer auf den gleichen Knoten umleiten, sind dabei möglich. Beim Round-Robin-Verfahren wird die Last fortlaufend und abwechselnd auf die dahinterliegenden Server verteilt. Bei der Least-Connection-Methode leitet Nginx die Anfragen an den Server mit den wenigsten aktiven Verbindungen weiter. Lastverteilung nach dem IP-Hash-Verfahren ist nur in einigen Fällen sinnvoll und sollte bei öffentlich erreichbaren Diensten nicht angewandt werden.

Session-Stickyness ist meist dort gefordert, wo interaktive Webapplikationen und Loadbalancing zusammenkommen. Hierbei wird User X, der sich auf Server Y eingeloggt hat, vom Loadbalancer immer an diesen Server weitergeleitet, bleibt also auf diesem Server für die Zeit der Session "kleben". Sticky Sessions lassen sich in Nginx mit einem externen Modul realisieren [7]; die oben erwähnten Konfigurationsoptionen können weiterhin genutzt werden. Der Administrator kann die Gewichtung der einzelnen Server mit dem »weight« -Parameter anpassen und so zum Beispiel Servern mit besserer Performance mehr Anfragen zuweisen. Dieser Parameter darf zusätzlich zu allen oben erwähnten Optionen benutzt werden.

Hot Standby

Neben der Lastverteilung lassen sich mit Nginx auch Hot-Standby-Szenarien aufbauen. Dabei läuft eine Fallback-Instanz mit gleicher Codebasis parallel mit, die beim Ausfall eines Hauptservers sofort einspringt. Durch dieses Setup lassen sich Updates für Webanwendungen ohne Downtime einspielen und insgesamt eine höhere Verfügbarkeit für kleine Systeme erreichen. Der Single Point of Failure bleibt beim Loadbalancer, solange dieser nicht ausfallsicher gemacht wird.

Ein Standard-Anwendungsfall für ein Frontend ist die Reverse-Proxy-Funktionalität, also das Weiterleiten vom Frontend an dahinterliegende Backend-Systeme. Das Proxy-Modul umfasst insgesamt mehr als 40 Konfigurationsoptionen, die unter [8] zu finden sind. Webserver-Standards wie Rewrite-Regeln oder Htaccess beherrscht Nginx natürlich auch.

Wegen seiner guten Performance wird Nginx häufig auch als Static Server eingesetzt, der öffentlich zugängliche, statische Ressourcen wie CSS, Javascript, Bilder, Downloads oder Filme bereitstellt und die Application Server damit entlastet. Je nach Einsatzgebiet gibt es dazu vielfältige Tuning-Optionen, die das Ausliefern statischer Inhalte optimieren. Neben OS-/Dateisystem-Optionen wie Sendfile können auch Expires-Zeiten global oder dateibasiert gesetzt und der ausgehende Traffic komprimiert werden. Für Nginx gibt es zwei Module, die den Einsatz als Streaming-Server für Videos (mp4/m4v/m4a/flv) ermöglichen, auch das schnelle Vorspulen (Seek) ist dabei möglich.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019