Rapide NIO, asynchrone Serveur HTTP pour Java

Suivantes sur cette question je suis actuellement dans la phase de trouver le bon conteneur HTTP pour un de mes projets, trop. J'ai regardé plusieurs conteneurs, mais je ne sais pas encore qui sera le mieux adapté pour la haute charge uniquement les requêtes AJAX. Apache Mina semble assez prometteur, mais relativement complexe. L'asynchrone serveur web de mise en œuvre appelée AsyncWeb semble avoir été fusionné avec Mina, mais je ne pouvais pas trouver tout de la production relase de, encore. Dans l'autre question, j'ai recommandé la Simple HTTP serveur que j'aime vraiment parce qu'il est... bien simple, claire et propre, mais je ne sais toujours pas si elle tiendrait le but.

En outre, je ne suis pas sûr de traitement de la demande concept de choisir:

  1. Créer un répartiteur de Thread pour chaque connexion entrante (optimisations pourraient inclure un pool de threads et d'un envoi de file d'attente), c'est faire tout le travail. L'avantage est sans doute, que je n'ai pas de traiter de nombreux problèmes de synchronisation, mais il sera probablement abaisser le débit de charge élevée de façon drastique.
  2. Parce qu'il va être un très modulaire de l'application d'un "pipeline" (il serait peut-être plus adaptée, je suppose 😉 approche pourrait fonctionner ainsi: Créer un nombre fixe de Threads, chacun pour une certaine tâche.
    E. g. l'un pour le traitement de la demande -> un en-tête de la désérialisation (si je reçois d'entrée dans différents formats comme subtmitted Formulaires HTML, XML-Rpc, JSON, etc.) -> un pour le "Contrôleur de Dispatching" (en faisant tout ce que je veux faire avec ces données) -> et un pour la sérialisation de la sortie dans le format souhaité (JSON, XML, HTML, etc...) et de les déplacer à chaque demande, à travers ces niveaux jusqu'à ce qu'il soit terminé. Probablement plus difficile à réaliser mais j'ai un nombre fixe de Threads (le nombre peut dependend sur le matériel) et une séparation des préoccupations.

Des expériences avec tout Cadre qui pourrait s'adapter et les deux différents de traitement des méthodes?

jetez un oeil à deftserver.org (projet jeune et pas prêt pour la production, à l'exclusion de: im une habile à valider)

OriginalL'auteur Daff | 2009-07-16