Melhor idioma para escrever serviços linux [closed]

0

Eu quero criar um rastreador que varre uma única página da web e me envia um e-mail caso algo esteja errado na página (a página mantém o status de alguns servidores da Web - Cima / Baixo).

Qual seria a melhor linguagem para escrever tal serviço?

Eu considerei PHP ou Python, mas como são linguagens interpretadas (+ o PHP tem um limite máximo de tempo que um script é executado), eu não acho que elas sejam as melhores para isso.

Além disso, o C / C ++ não é uma opção. Eu estava pensando em Java, já que ele tem Thread e eu posso precisar dele, mas não tenho certeza.

    
por Eduard Luca 05.02.2013 / 14:25

2 respostas

3

Use apenas o idioma com o qual você está mais confortável. Este tipo de aplicação é não limitada pela CPU / memória.

Você mencionou Python . Isso é interpretado, mas eu realmente não vejo por que isso seria um problema. Youtube / Tornado / Django / etc execute o Python. Todas as coisas que você sempre desejará para seu propósito específico já estão disponíveis como módulos (daemonize, http, etc.).

PHP não parece ser um bom ajuste por causa do limite que você mencionou, mas também porque você precisa do apache (não completamente verdadeiro, mas seja o que for). Ainda assim, é possível.

Java também se encaixaria perfeitamente. Você também pode daemonizar seu processo e usar bibliotecas existentes.

C/C++ parece um pouco demais, mas com as bibliotecas disponíveis, você deve conseguir gerar um código de trabalho muito rapidamente.

Como a manatwork estressou, bash também se encaixa ...

Bem, você adivinhou, meu ponto aqui é que, para esse tipo de aplicação, não há "melhor linguagem". Existe uma família de linguagens que já implementa uma biblioteca http_client de algum tipo e as outras. Sua CPU e memória não são limitantes. Você pode apenas aproveitar o idioma que deseja. :) De um modo geral, se este é o seu servidor, verificar o seu serviço web deve ser verificado internamente (cron job, nagios, etc.). A partir de sua casa, você pode querer apenas fazer ping no servidor para ver se o hardware está ativo e respondendo.

    
por 05.02.2013 / 14:59
1

O que eu faria é escrevê-lo em uma linguagem de script como Perl ou Python e, em seguida, dimensionar para Java, se necessário, em busca de recursos, como melhor gerenciamento de concorrência. Você sempre quer usar a ferramenta mais simples para o trabalho e aumentar a escala se precisar. Eu sou um grande fã de ambas as linguagens e mesmo sabendo Java melhor, eu sempre tentaria resolver qualquer problema em Perl antes de recorrer ao Java. O Perl é um ótimo candidato para processamento de carga de trabalho offline, especialmente de thread único.

Ainda outra pergunta a ser feita é a disponibilidade de APIs para o aplicativo em particular, embora atualmente existam APIs e serviços da Web para praticamente qualquer coisa. Ainda assim, eu aposto que existem mais APIs para Java do que Perl. No entanto, recentemente fiquei desapontado por não conseguir encontrar uma API Java para o IBM Clear Case. Portanto, para algumas estatísticas e monitoramento de gerenciamento de versão, usei o shell invocando sua CLI e passando dados para Perl para processamento adicional.

    
por 05.02.2013 / 19:48