Der Kreativität sind fast keine Grenzen gesetzt wenn es darum geht den Funktionsumfang des Load-Balancers mit weiteren, nützlichen Funktionen auszubauen.
Während sich zum Beispiel die Verarbeitung von HTTPS durch das SSL-Modul (
»mod_ssl
«
) einrichten lässt, stellen weitere Module auch die Möglichkeit zur Zwischenspeicherung ("Caching") oder Filterung der von den Backends generierten Inhalte zur Verfügung.
So lässt sich, wie in Listing 3 dargestellt, ein einfacher, datei-basierter Cache inklusive Komprimierung für den kompletten URL-Raum " / " realisieren (beispielsweise mit einer Ausnahme des untergeordneten URL-Raums " /users ").
Listing 3
Beispiel-Config von mod_cache
CacheEnable disk / CacheDisable /<emphasize class="replaceable">users</emphasize> CacheRoot /var/cache/httpd ... AddOutputFilterByType DEFLATE text/html
Dies erlaubt neben der durch das Caching erreichten Performance-Steigerung auch eine nicht unbeträchtliche Verminderung des Datenaufkommens sowie die generelle Entlastung der Backend-Server da nicht mehr bei jeder Anfrage eine erneute Kontaktaufnahme stattfinden muss.
Wurde beim Start des Servers ebenfalls das Status-Modul (
»mod_status
«
) geladen so stellt das Proxy-Modul eine einfache aber praktische Web-Oberfläche zur Verwaltung des Load-Balancers zur Verfügung (siehe
Abbildung 2
). Die Konfiguration ist simpel und erfolgt mittels Zuweisung eines Handlers:
<Location "/.balancer-manager"> SetHandler balancer-manager </Location> ... ProxyPass /.balancer-manager !
Es sollte hierbei jedoch auf die Zugangskontrolle sowie den Ausschluss der jeweiligen URL von der Verarbeitung innerhalb des Load-Balancers geachtet werden. Im Listing wurde dies zum Beispiel mittels einer negierten
»ProxyPass
«
Anweisung erreicht. Bei der Verwendung des Rewrite-Moduls kann dies aber auch durch die Verwendung einer separaten Regel geschehen.
Die eigentliche Verwaltung begrenzt sich zwar auf die Status-Anzeige aller konfigurierten Balancer sowie auf die Möglichkeit einzelne Pool-Mitglieder zu deaktivieren oder ihre rudimentären Einstellungen anzupassen, sie ist aber dennoch äusserst hilfreich im Fall eines akuten Problems oder auch bei der Überwachung mehrerer Load-Balancer.