NodeJS: Websockets durch nginx

Vereinfach gesagt: es geht nicht! nginx unterstützt derzeit kein routing von WebSocket Traffic, erst mit der nächsten Version 1.3 (Major Release) wird dies laut der offiziellen Roadmap möglich sein. Wir bleiben gespannt! Quelle: http://trac.nginx.org/nginx/milestone/1.3 UPDATE: Status: released

Node.JS: Run as a service (forever)

Wird ein Node.JS Skript auf der Shell mittels node myServer.js gestartet, so läuft es nur im Vordergrund der Shell. Es lassen sich also keine weiteren Befehle ausführen ohne die Node.JS Ausführung zu beenden. Legt man den Prozess mittels des Kaufmanns-und & in den Hintergrund scheint das Ziel zwar erreicht, beim Read more…

Node.JS: Cluster & Load Balancing

Die meisten Node.JS Skripte beginnen mit der Initialisierung und dem Starten eines HTTP-Servers. Doch so einfach dies in Node.JS auch implementiert ist, fehlen einem HTTP-/Webserver damit noch immer wichtige Eigenschaften:

– Lastverteilung
– Ausfallsicherheit
– Neustarten bei Anwendungsfehlern

Das Erstellen eines Node.JS Cluster, das alle drei aufgelisteten Eigenschaften umsetzt ist ebenso einfach wie das Starten eine HTTP-Servers!

(more…)

Node.JS: Initiate Filedownload (Tiny)

Mit Node.JS ist es nicht wirklich schwer, einen File-Downloader bzw. URL-Redirector zu implementieren. Dank der nähe zum HTTP-Protokoll des HTTP-Servers in Node.JS wird einem fast alles in die Hand gegeben was man benötigt.

Man stelle sich einen eigenen kleinen Web Dienst wie tinyurl bzw. tinyfile vor. Über die URL (bspw: mydomain.tld/abc123) soll anhand des nach der TLD folgenden Strings entschieden werden, ob ein Datei-Download initiiert oder ein Redirect durchgeführt werden soll.

In unserem Beispiel arbeitet im Hintergrund die No-SQL Datenbank MongoDB welche von Node.JS mittels dem MongoSkin Module angesprochen wird.

(more…)