Domanda

Sono interessato a guardare le architetture per applicazioni di rete che servono estensibili. Io non sono troppo interessati al protocollo, o il linguaggio utilizzato, più l'eleganza e l'estensibilità del design. Naturalmente Apache viene in mente, ma mi chiedevo se qualcuno avesse altri esempi che trovano un piacere lavorare con.

EDIT: Giusto per chiarire, io sto chiedendo di un'applicazione server che implementa un protocollo di rete. framework di sviluppo Web non sono i server di rete, in questo senso. I protocolli possono includere, ma non sono limitati a:. FTP, HTTP, XMPP, SNMP, IMAP, ecc Buone server di rete attuare una sorta di parallelismo, concentrarsi su scalabilità, ma avere una buona estensibilità e

È stato utile?

Soluzione

nginx (si veda anche la nginx wiki ) è un proxy server HTTP e la posta che si è guadagnato una reputazione per la scalabilità e l'efficienza delle risorse. Esso utilizza un'architettura basata sugli eventi (supporto epoll, kqueue, ecc) per mantenere l'utilizzo di memoria insufficiente anche sotto carichi consistenti.

Altri suggerimenti

Ho pensato di buttare via Apache qui per evitare che tutti rispondere con esso a allo stesso tempo.

Django 's è un server bello. Del resto, tutti i server di applicazioni Web sono molto estensibile.

Direi ASP.NET è un'applicazione server ben progettato. modello di programmazione è estensibile (permette di collegare in ogni caso di richiesta di ciclo di vita con moduli utente-autore).

Anche estremamente scalabale e performante.

La funzionalità di caching da sola è valsa la pena. Posso darti un link generico per ASP.NET, ma io sono sicuro che siete abbastanza familiarità con esso.

http://www.asp.net/

Per i server di rete di scrittura mi piace lavorare con POE .

ejabberd è un server XMPP scritto in Erlang. messaggio che passa nativo del linguaggio di programmazione Erlang si adatta bene con un server di messaggistica istantanea, che permette ejabberd di essere molto modulare, così come esporre un sacco di parallelismo.

Il Asterisk PBX è un server di telefonia open source che implementa una serie di protocolli VoIP tra cui SIP. E 'abbastanza modulare, configurabile e incredibilmente, anche utilizzando il proprio linguaggio di programmazione di sorta, AEL, per descrivere le interazioni IVR dialplan.

Jetty ha funzionato bene per me. E 'veloce e funziona bene sotto carico. Naturalmente, le prestazioni dipenderà il tipo di applicazione che si distribuisce sulla parte superiore del molo.

mi sento di raccomandare a leggere questi libri su ACE:

Essi contengono un sacco di informazioni molto utili sulla progettazione di applicazioni in rete.

mi piacerebbe prendere uno sguardo a OpenSSH , è ben noto per essere praticamente impenetrabile. Ciò è dovuto principalmente al processo di revisione intensiva del gruppo OpenBSD, ma ho il sospetto che è anche legato all'architettura.

Per estensibilità vorrei guardare un po 'più a fondo per OpenSSL (il toolkit protocollo sottostante utilizzato per OpenSSH).

Dal momento che nessun altro ha parlato:. IIS

Si tratta di un'applicazione molto estensibile per Windows (che è di per sé estremamente estensibile).

Tack su ASP e altri componenti .NET e non si può davvero ottenere qualsiasi più versatile di quello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top