Seguito su this question In realtà sono in fase di ricerca del contenitore HTTP giusto per uno dei miei progetti. Ho esaminato diversi contenitori, ma non sono ancora sicuro quale sarà il più adatto per richieste AJAX a carico elevato. Apache Mina sembra abbastanza promettente, ma relativamente complesso. L'implementazione asincrona del server Web chiamata AsyncWeb sembra essere stata unita a Mina, ma non sono riuscita a trovare alcun riferimento alla produzione. Nell'altra domanda ho consigliato il server Simple HTTP che mi piace molto perché è ... molto semplice, chiaro e pulito ma non so ancora se sarebbe adatto allo scopo.Fast NIO, server HTTP asincrono per Java
Inoltre non sono sicuro in cui la domanda di movimentazione concetto di scegliere:
creare un thread dispatcher per ogni connessione in entrata (ottimizzazioni potrebbero ovviamente includere un pool di thread e una coda di invio), vale a dire facendo tutto il lavoro Probabilmente il vantaggio è che non devo affrontare molti problemi di sincronizzazione, ma probabilmente ridurrò drasticamente il throughput su carichi elevati.
Poiché si tratta di un'applicazione altamente modulare, un approccio "pipelining" (potrebbe esserci un termine più appropriato, credo) potrebbe anche funzionare: creare un numero fisso di thread, ciascuno per un determinato compito. E.g. uno per la gestione delle richieste -> uno per la deserializzazione dell'intestazione (se ottengo input in diversi formati come HTML Forms, XML-RPC, JSON ecc.) -> uno per "Controller Dispatching" (facendo tutto ciò che voglio fare con questi dati) -> e uno per serializzare l'output nel formato desiderato (JSON, XML, HTML ecc.) e spostare ogni richiesta attraverso questi livelli fino al completamento. Probabilmente più difficile da realizzare, ma ho un numero fisso di thread (il numero può dipendere anche dall'hardware) e una netta separazione delle preoccupazioni.
Eventuali esperienze con qualsiasi Framework che potrebbe andare bene e i due diversi approcci di gestione?
un'occhiata a deftserver.org (progetto giovane e al momento non pronti per la produzione, disclaimer: im a committer abile) – Schildmeijer