Pergunta

Eu estou construindo um aplicativo Lifestreaming que envolverá puxando para baixo lotes de alimentos para muitos usuários, e realizando data-mining, e máquina de algoritmos sobre os resultados de aprendizagem. carga do GAE equilibrada e sons de hospedagem escalonável como um bom ajuste para um sistema que poderia eventualmente estar se movendo em torno de uma grande quantidade de dados, mas é falta de empregos cron é um incômodo. Será que eu estaria melhor fora de usar o Django em um co-loc e lidar com minha própria escala DB?

Foi útil?

Solução

Enquanto eu não posso responder à sua pergunta diretamente, a minha experiência de construção Microupdater (a coleta agregador de notícias algumas centenas de feeds em AppEngine) pode dar-lhe um pouco de visão.

  • alimenta Fetching. Buscar lotes de alimentos por tarefas agendadas (era a única solução até SDK 1.2.5) não é eficiente e escalável, que tem limite inferior da frequência de trabalho (digamos 1 min, assim você só poderia buscar no máximo, 60 alimentações por hora). E com o mais recente SDK 1.2.5, há XMPP API, que eu ainda não implementado. A melhor abordagem promissora seria PubSubHubbub , dos quais você oferecer um URL de retorno e burburinho notificará -lhe novas entradas no em tempo real . E há um demonstração implementação em AppEngine, que você pode brincar.

  • alimenta de análise. Você já deve saber que a análise de alimentos é intensivo de CPU. Eu uso Universal de alimentação Analisador por Mark Pilgrim, ao analisar um grande avanço (dizer um tópico leitor google público), AppEngine pode falhar para processar todas as entradas. Meu painel tem um monte de estes avisos CPU-limite. Mas isso pode resultar em minha incapacidade de otimizar o código ainda.

Totally disse, AppEngine ainda não é uma plataforma ideal para aplicação lifestream, mas isso pode mudar no futuro.

Outras dicas

Pode mudar quando eles oferecem planos pagos, mas tal como está, o Google App Engine não é bom para CPU aplicações intensivas. Ele é projetado para escalar para lidar com um grande número de pedidos, não necessariamente uma grande quantidade de cálculos por pedido. Eu estou correndo em esta questão com cálculos relativamente menor, e eu temo que pode ter que começar a procurar em outro lugar como o meu conjunto de dados cresce.

(Isto é, obviamente, bastante antiga, respondendo apenas porque ainda vem muito altas em consultas do Google relacionados ...)

Eu só comecei a usar AppEngine e não foram utilizá-lo para toneladas de solicitações externas. Mas eu sei que a informação acima é provavelmente muito menos válido agora, e pode até não ficar parado. Eles relaxou os limites um pouco desde setembro de 08 - verificar de Aral Balkan blogue para a sua queixa inicial sobre o anterior, e desenvolvimentos posteriores.

Se você está aplicativo se baseia exclusivamente em Django, então App Engine é uma boa aposta. No entanto, se você precisar adicionar bibliotecas C-aprimorados, você está até um riacho. O App Engine não suporta coisas como PIL ou ReportLab, que usam C para acelerar os tempos de processamento. Eu só estou mencionando isto porque você pode querer usar C para acelerar algumas das suas rotinas no longo prazo.

Se você decidir usar um co-loc, consulte a WebFaction.com. Eles têm grande apoio Django / Python e não têm nenhum problema com você usando os lirbaries acima mencionados.

Dê uma olhada Fatia Anfitrião : eles vendem instâncias de servidor virtualizado com base Xen a partir de $ 20,00 / mês ...

Nós somos apenas como você. Doente de sobrevendido, baixo desempenho, hospedagem antiga empresas. Nós assumiu a responsabilidade em nosso Mãos próprias. Nós construímos uma empresa de hospedagem para as pessoas que sabem seu material. Dar -nos uma caixa, dá-nos a largura de banda, nos dar desempenho e começar a trabalhar. Rápido máquinas, RAID-10 unidades, Tier-1 largura de banda e acesso root. Gerenciou com um Xen VPS backend personalizado para garantir que seus recursos são protegidos e garantidos.

É ótimo para começar um projeto sobre e dimensioná-lo para fora, sem incorrer os custos de um provedor gerenciado ou colo.

No. Se você precisa puxar um monte de coisas para baixo, App Engine não vai funcionar tão bem. Você pode usá-lo como um front-end, colocando seus dados em sua loja depois de fazer o seu pré-processamento off-line, mas você não pode fazer muito no ~ 1 segunda vez que você tem por solicitação sem fazer algum realmente louca coisas.

O aplicativo provavelmente seria melhor fora em sua própria hospedagem.

Puxando alimentos ou fazer cálculos não será um problema. Mas em breve você vai ter que pagar por sua conta. App Engine inclui Django, exceto que você vai precisar de trabalhar com alguns adaptadores para a parte do modelo. Ele certamente irá salvar você de problemas de manutenção.

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