Pod Komponenten

Aus Spored-Wiki

Wechseln zu: Navigation, Suche
Das Diagramm zeigt das grundlegende Zusammenspiel der Komponenten eines Diaspora Servers

Zu den Pod Komponenten gehören: ein Application-Server (Webserver), eine Datenbank und ein Queue-System. Die Software ist in Ruby on Rails geschrieben.

Der Application-Server ist bei Diaspora standardmäßig Thin. Da dieser nur eine Anfrage zur Zeit verarbeiten kann, bietet es sich an mehrere zu starten und mittels eines sogenannten Reverse Proxy mit Load Balancer zu tunneln. Diese Aufgabe kann sehr gut von einer bestehenden Apache- oder Nginx-Installation übernommen werden. Im Detail heißt das, sämtliche Anfragen werden vom Reverse Proxy entgegen genommen und auf die Application-Server verteilt, um eine möglichst gleichmäßige Auslastung und damit schnellere Antworten zu erreichen.

Als Datenbank wird MySQL verwendet; dank Rails sollte eine Umstellung auf andere Systeme allerdings kein zu großer Aufwand sein.

Um zeitintensive Aufgaben nicht während der Anfrage des Benutzers zu machen und ihn damit unnötig lange auf die Seite warten zu lassen, wird Resque als Queue-System benutzt, um diese Aufgaben im Hintergrund zu bearbeiten. Beispiele sind das Senden und Verschlüsseln der Nachrichten, das Entschlüsseln der Nachrichten, das Verarbeiten von hochgeladenen Bildern oder das Senden von E-Mails. Als Kommunikationsschnittstelle zwischen Resque und dem Application-Server dient der Key-Value-Store Redis.

Navigation
Werkzeuge