Pergunta

Estou pensando em Erlang como um potencial para o meu próximo projeto. Eu preciso de um "altamente escalável altamente confiável", (duh, o projeto não?) Servidor web para aceitar solicitações HTTP, mas não realmente servir HTML. Nós temos milhares de clientes distribuídos (outros sistemas, e não usuários) que vai apresentar dados binários para conjunto central de servidores para processamento offline. Respostas seria muito curto, sucesso, falha, código de erro, os dados mínima. Queremos usar HTTP uma vez que é a nossa melhor chance de atravessar firewalls.

Dada esta informação limitada sobre o projeto, você pode fornecer quaisquer deficiências que podem aparecer usando uma tecnologia como Erlang? Por exemplo, eu entendo as capacidades de processamento de texto do Erlang pode deixar algo a desejar.

Você comentários são apreciados. Obrigado.

Foi útil?

Solução

Isso soa como um candidato perfeito para uma linguagem como Erlang. As propriedades de escala da linguagem são muito bons, mas se você está preocupado com a capacidade de processamento de dados, você não deve ser. É uma linguagem muito poderosa, com muitas bibliotecas disponíveis para os desenvolvedores. É uma língua antiga, e tem sido muito usado / testado no passado, por isso tudo que você quer fazer provavelmente já foi feito em algum grau.

Outras dicas

Certifique-se de usar a versão erlang R11B5 ou mais recente! As versões anteriores do erlang não fornecer a capacidade de tempo limite TCP envia. Isto resulta em clientes paralisadas ou maliciosos ser capaz de executar um ataque DoS em seu aplicativo, recusando-se a dados recv você enviar-lhes, assim, travando o processo de envio.

Veja a questão OTP-6684 de de R11B5 notas de lançamento .

Com Erlang a escalabilidade e confiabilidade está lá, mas a partir de sua definição do projeto você não delinear o tipo de texto processamento você vai precisar.

Eu penso principal limitação do Erlang pode ser encontrar desenvolvedores experientes em sua área. Faça alguma pesquisa sobre a disponibilidade de arquitetos e programadores Erlang.

Se você estiver indo para ensinar a si mesmo ou ter seus desenvolvedores aprender sobre a fortaleza de emprego em mente que é uma maneira muito diferente de codificação e que, embora a documentação do núcleo é muito bom de pessoas fazem gostaria que houvesse mais exemplos. Claro que a comunidade muito ativa facilmente torna-se para isso.

Eu entendo processamento de texto do Erlang capacidades pode deixar algo a a desejar.

O projeto Starling já fornece suporte básico unicode e há uma EEP (Erlang Enhancement Proposal) atualmente no projecto, mas indo para trazê-lo para o mainstream de apoio Erlang / OTP.

Eu encontrei alguns problemas com Redis desempenho de leitura de Erlang. Aqui está minha pergunta . I tendem a pensar a razão está do módulo, que tem problemas durante o processamento de toneladas de cordas durante a comunicação com Redis Erlang-escrita.

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