2011-01-17 1 views
1

Je suis en train de vous parler de différentes approches pour mettre à l'échelle les capacités de traitement des requêtes sur une seule machine prises par node.js, ruby, jetty et company. En tant que développeur d'applications, c'est-à-dire avoir très peu de connaissances en Kernel/Networking, je suis curieux de comprendre les différentes approches adoptées par chaque implémentation (sélection du noyau, interrogation du socket pour la connexion, événementiel et entreprise).Une implémentation efficace pour traiter des dizaines de milliers de requêtes HTTP de courte durée sur un seul nœud Linux?

Veuillez noter que je ne parle pas de fonctionnalités de gestion spéciales (telles que jetty continuations (request-> wait-> request), un modèle typique pour les clients AJAX) mais plus généralement, si vous souhaitez implémenter un serveur qui peut répondre avec "Hello World" au nombre maximal de clients simultanés comment le feriez-vous? et pourquoi?

Informations/Références à la lecture du matériel serait grande.

Répondre

4

Jetez un oeil à The C10K problem page.

+0

Merci pour le lien, cela a beaucoup de fond (merci de me rappeler de ce document). La page date du 2006/09/02, ce qui est cool car les solutions les plus récentes sont probablement basées sur la théorie fournie dans le document. Je pense qu'il serait utile d'expliquer aussi comment la solution moderne (si elle déroge à la théorie et même si ce n'est pas le cas) est mise en œuvre. Généralement ce que je dis que je préférerais apprendre de la solution mise en œuvre aussi bien que de la théorie. Encore une fois, merci pour le lien. –

+0

@Maxim: peut-être que vous devriez regarder libevent et libev. – ninjalj

+0

http://nginx.org est une très bonne référence aussi. –

Questions connexes