Jan 122011
Projektumfang
- Konzeption eines Linux Clusters, welcher aus mehreren Web-, Datenbank- und Streaming-Servern besteht.
- Die Server stehen dabei nicht alle in einem Rack, sondern sind zum Teil auf mehrere Rechenzentren in unterschiedlichen Ländern verteilt.
- Im Cluster sollen einzelne Nodes ohne Probleme mehrere TByte Traffic / Tag ausliefern können, ohne dass es im Frontent/Backend zu nennenswerten Einschränkungen kommt.
- Monitoring des Server und der darauf laufenden Dienste, sowie Überwachung bestimmter Zustände auf Anwendungsebene.
- Fällt ein Web- oder Datenbank-Server aufgrund eines Defekts aus oder wird aufgrund von Wartungsarbeiten kurzfristig vom Netz genommen, sollen die Aufgaben der ausgefallen Systeme automatisch auf die anderen Server verteilt werden.
Umsetzung
- Auf den Servern kommt als OS Ubuntu Linux mit Long Time Support (=LTS) bzw. Debian GNU/Linux zum Einsatz.
- Für die Streaming-Server wurde der Adobe® Flash® Media Server (FMS) gewünscht, da Features wie die automatische Bandbreitenerkennung benötigt wurden.
- Programmierung diverser Tools zur Automatisierung der Arbeitsabläufe (z.B. Konvertierung von Videomaterial, automatische Verteilung von Kontent auf mehrere Server, usw.)
- Programmierung eines Flash-Players zur Wiedergabe von Mediendaten mit Optionen wie automatische Bandbreitenerkennung, User-Verwaltung u.v.a.m.
- Die MySQL-Datenbanken werden im Backend-LAN eines Rechenzentrums mittels Master-Master bzw. Master-Slave-Replikation synchron gehalten.
- Rechenzentren übergreifend wurden selbst entwickelte Techniken eingesetzt, die einen synchronen Datenbestand der Datenbanken auch bei kurzfristigen Verbindungsabbrüchen aufgrund von z.B. zu hoher Latenzen ermöglicht.
- Die Anfragen der User wird über Load Balancer an die verschiedenen Webserver verteilt.
