Pregunta

Estoy interesado en el estudio de arquitecturas para aplicaciones de red que sirve extensibles. No estoy muy interesado en el protocolo, o el lenguaje utilizado, más en la elegancia y la extensibilidad del diseño. Por supuesto Apache viene a la mente, pero me preguntaba si alguien tenía alguna otros ejemplos que encuentran un placer trabajar con ellos.

EDIT: sólo para aclarar, yo estoy preguntando por una aplicación de servidor que implementa un protocolo de red. marcos de desarrollo Web no son servidores de red en este sentido. Los protocolos pueden incluir, pero no están limitados a:. FTP, HTTP, XMPP, SNMP, IMAP, etc. servidores buena red de aplicar algún tipo de paralelismo, se centran en la escalabilidad, sin embargo, tienen una buena extensibilidad, así

¿Fue útil?

Solución

nginx (véase también la nginx wiki ) es un proxy HTTP y el servidor de correo que se ha ganado una reputación para la escalabilidad y la eficiencia de los recursos. Se utiliza una arquitectura basada en eventos (apoyando epoll, kqueue, etc.) para mantener bajo uso de memoria incluso bajo cargas considerables.

Otros consejos

pensé en tirar hacia fuera Apache aquí para evitar que todo el mundo respondiendo con ello al al mismo tiempo.

Django 's es un buen servidor. Por lo demás, todos los servidores de aplicaciones Web son muy extensible.

Yo diría que ASP.NET es una aplicación de servidor bien diseñado. modelo de programación es extensible (le permite conectar en cada evento del ciclo de vida del pedido con módulos-escrito por el usuario).

También muy scalabale y performante.

La funcionalidad de caché solo vale la pena. Te puedo dar un enlace genérico para ASP.NET, pero estoy seguro de que son razonablemente familiarizado con él.

http://www.asp.net/

Para los servidores de red de escritura me gusta trabajar con POE .

Ejabberd es un servidor XMPP escrito en Erlang. el paso de mensajes nativo del lenguaje de programación Erlang se adapta muy bien con un servidor de mensajería instantánea, que permite Ejabberd a ser muy modular, además de exhibir una gran cantidad de paralelismo.

El Asterisk PBX es un servidor de telefonía de código abierto que implementa una serie de protocolos de VoIP incluyendo SIP. Es bastante modular y muy configurable, incluso utilizando su propio lenguaje de programación de clases, AEL, para describir las interacciones dialplan IVR.

embarcadero ha funcionado bien para mí. Es rápido y funciona bien bajo carga. Por supuesto, el rendimiento dependerá de qué tipo de aplicaciones se implementa en la parte superior del embarcadero.

Yo recomendaría leer estos libros sobre la ECA:

Contienen una gran cantidad de información muy útil sobre el diseño de aplicaciones en red.

Me gustaría tener un vistazo a OpenSSH , es bien conocido por ser prácticamente impenetrable. Esto se debe principalmente al proceso de revisión intensiva del grupo OpenBSD pero sospecho que también está relacionado con la arquitectura.

En la extensibilidad me gustaría ver un poco más profundo para OpenSSL (el kit de herramientas de protocolo subyacente que se utiliza para OpenSSH).

Ya que nadie más ha mencionado que:. IIS

Es una aplicación muy extensible para Windows (que en sí es altamente extensible).

Tack en ASP y otros componentes .NET y realmente no se puede conseguir nada más versátil que eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top