Sistema de rastreamento e análise de estatísticas em tempo real em Python
Pergunta
Esta pergunta está relacionada a uma pergunta mais antiga: Sistema de rastreamento MySQL. Em resumo: tenho que implementar um sistema de rastreamento que terá cargas altas usando o Python. Para a parte do banco de dados, eu decidi no MongoDB (que soa como a ferramenta certa para este trabalho). A linguagem de desenvolvimento será Python.
Eu estava pensando em usar várias instâncias de um aplicativo de cerejeira atrás do NGINX. O raciocínio por trás disso é que eu não quero lidar com toda a parte do WSGI, mas, por outro lado, não preciso de uma estrutura da web completa, pois o aplicativo será simples e não há necessidade de ORM.
Minhas perguntas são:
Devo usar o servidor Cherrypy Builtin ou devo usar o Apache com o MODWSGI (ou outro servidor)?
Isso soa como uma abordagem razoável (nginx, MongoDB)? Se não o que você recomendaria?
Agradeço antecipadamente.
Solução
Parece que o MongoDB será um bom ajuste para isso - atualizações rápidas com operadores avançados e M/R para processamento offline em lote. Eu acho que Cherrypy atrás do Nginx também deve funcionar bem. Se você seguir a rota mod_wsgi, basta cuidar esse assunto.
Outras dicas
Você já fez check -out de grafite? Parece exatamente o tipo de coisa que você precisa (olhando para sua outra pergunta) e foi projetado para monitoramento de aplicativos e servidores pela equipe Orbitz. É extremamente robusto e fácil de usar para esse tipo de coisa.
- Aqui está o site do projeto: http://graphite.wikidot.com/
- Com algumas capturas de tela: http://graphite.wikidot.com/screen-shots