Pergunta

Estou interessado em olhar para arquiteturas para aplicações que servem de rede extensível. Eu não estou muito interessado no protocolo, ou a linguagem utilizada, mais na elegância e extensibilidade do design. Claro Apache vem à mente, mas eu queria saber se alguém tinha alguma outros exemplos que eles encontram um prazer trabalhar com ele.

EDIT: Só para esclarecer, eu estou perguntando sobre um aplicativo de servidor que implementa um protocolo de rede. frameworks de desenvolvimento web não são os servidores da rede nesse sentido. Protocolos podem incluir, mas não estão limitados a:. FTP, HTTP, XMPP, SNMP, IMAP, etc. servidores de rede Boas implementar algum tipo de paralelismo, o foco em escalabilidade, ainda têm boa extensibilidade, bem

Foi útil?

Solução

nginx (ver também o nginx wiki ) é um servidor proxy HTTP e-mail que ganhou uma reputação de escalabilidade e eficiência de recursos. Ele usa uma arquitetura baseada em eventos (apoiando epoll, kqueue, etc.) para manter a memória baixo uso mesmo sob cargas consideráveis.

Outras dicas

Pensei em jogar fora Apache aqui para impedir que todos respondendo com ele em ao mesmo tempo.

Django do framework web é um servidor agradável. Para essa matéria, todos os servidores de aplicativos web são muito extensível.

Eu diria ASP.NET é um aplicativo de servidor bem desenhado. modelo de programação é extensível (permite que você ligar para todos os eventos do ciclo de vida do pedido, com módulos de autoria pelo usuário).

Também extremamente scalabale e performance.

A funcionalidade de cache só vale a pena. Posso dar-lhe um link genérico para ASP.NET, mas eu tenho certeza que você está razoavelmente familiarizado com ele.

http://www.asp.net/

Para escrever servidores de rede que eu gostaria de trabalhar com POE .

ejabberd é um servidor XMPP escrito em Erlang. mensagem nativa da linguagem de programação Erlang passagem se encaixa muito bem com um servidor de mensagens instantâneas, que permite ejabberd ser muito modular, bem como exibindo um monte de paralelismo.

O Asterisk PBX é um servidor de telefonia de fonte aberta que implementa uma série de protocolos VoIP, incluindo SIP. É bastante modular, e incrivelmente configurável, mesmo usando a sua própria linguagem de programação das sortes, AEL, para descrever IVR interações dialplan.

Jetty tem funcionado bem para mim. Ele é rápido e funciona bem sob carga. É claro, o desempenho vai depender que tipo de aplicação que você implantar em cima do Jetty.

Eu recomendaria para ler esses livros sobre ACE:

Eles contêm uma grande quantidade de informação muito útil sobre a criação de aplicações de rede.

eu dar uma olhada OpenSSH , é bem conhecido por ser praticamente impenetrável. Isto é principalmente devido ao processo de revisão intensiva do grupo OpenBSD mas eu suspeito que também está relacionado com a arquitetura.

Para extensibilidade gostaria de olhar um pouco mais profundo para OpenSSL (o kit de ferramentas protocolo subjacente usado para OpenSSH).

Uma vez que ninguém mais tenha mencionado isso:. IIS

É uma aplicação muito extensível para Windows (que é extremamente extensível si).

Tack em ASP e outros componentes .NET e você não pode realmente ficar mais versátil do que isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top