2011-01-17 5 views
1

Ich lese über verschiedene Ansätze für die Skalierung von Funktionen zur Bearbeitung von Anforderungen auf einem einzigen Rechner, die von node.js, ruby, jetty und company übernommen werden.Effiziente Implementierung für die Bereitstellung von zehntausenden kurzlebigen HTTP-Anfragen auf einem einzigen Linux-Knoten?

Als Anwendungsentwickler, d. H. Mit sehr wenig Verständnis in Kernel/Networking Ich bin neugierig zu verstehen, die verschiedenen Ansätze von jeder Implementierung (Kernel auswählen, den Socket für die Verbindung, ereignisbasiert und Unternehmen abfragen).

Bitte beachten Sie, dass ich nicht nach speziellen Handhabungsmerkmalen (wie jetty continuations (request-> wait-> request), ein für AJAX-Clients typisches Muster) frage, sondern generell, wenn Sie einen Server implementieren möchten das kann mit "Hello World" auf die maximale Anzahl gleichzeitiger Clients antworten, wie würdest du das machen? und warum?

Informationen/Hinweise zum Lesen von Material wäre großartig.

Antwort

4

Werfen Sie einen Blick auf The C10K problem Seite.

+0

Danke für den Link, das hat einen tollen Hintergrund (danke für die Erinnerung an dieses Papier). Die Seite stammt aus dem Jahr 2006/09/02, was cool ist, da die neuesten Lösungen wahrscheinlich auf der im Dokument enthaltenen Theorie basieren. Ich denke, es wäre nützlich, auch zu erklären, wie moderne Lösungen (wenn sie von der Theorie abweichen und wenn nicht) umgesetzt werden. Allgemein gesagt, was ich sage, würde ich lieber von der implementierten Lösung als auch von der Theorie lernen. Nochmals vielen Dank für den Link. –

+0

@Maxim: vielleicht sollten Sie Libevent und Libev betrachten. – ninjalj

+0

http://nginx.org ist auch eine ziemlich gute Referenz. –

Verwandte Themen