Domanda

Sto costruendo un'app Lifestreaming che coinvolgerà l'abbattimento di molti feed per molti utenti e l'esecuzione di algoritmi di data mining e machine learning sui risultati. L'hosting bilanciato e scalabile del carico di GAE suona come un buon adattamento per un sistema che potrebbe eventualmente spostarsi su MOLTI dati, ma la mancanza di cron job è un fastidio. Starei meglio usando Django su un co-loc e gestendo il mio ridimensionamento DB?

È stato utile?

Soluzione

Anche se non posso rispondere direttamente alla tua domanda, la mia esperienza di costruzione di Microupdater (un aggregatore di notizie che raccoglie alcune centinaia di feed su AppEngine) potrebbero darti un'idea.

  • Recupero feed. Il recupero di molti feed dai processi cron (era l'unica soluzione fino all'SDK 1.2.5) non è efficiente e scalabile, il che ha un limite inferiore sulla frequenza dei processi (diciamo 1 minuto, quindi puoi recuperare solo al massimo 60 feed all'ora). E con l'ultimo SDK 1.2.5, c'è API XMPP , che non ho ancora implementato. L'approccio più promettente sarebbe PubSubHubbub , di cui offri un URL di richiamata e HubBub avviserà nuove voci in tempo reale . E c'è una implementazione demo su AppEngine, su cui puoi giocare.

  • Feed di analisi. Potresti già sapere che l'analisi dei feed è ad alta intensità di CPU. Uso Universal Feed Parser di Mark Pilgrim, quando analizzo un feed di grandi dimensioni (ad esempio un argomento pubblico di Google Reader), AppEngine potrebbe non riuscire a elaborare tutte le voci. La mia dashboard contiene molti di questi avvisi relativi al limite della CPU. Ma ciò potrebbe comportare la mia incapacità di ottimizzare ancora il codice.

Detto in tutto, AppEngine non è ancora una piattaforma ideale per l'app Lifestream, ma potrebbe cambiare in futuro.

Altri suggerimenti

Potrebbe cambiare quando offrono piani a pagamento, ma allo stato attuale, App Engine non è adatto per le app a uso intensivo di CPU. È progettato per scalare per gestire un gran numero di richieste, non necessariamente una grande quantità di calcolo per richiesta. Sto riscontrando questo problema con calcoli abbastanza minori e temo che dovrei iniziare a cercare altrove man mano che il mio set di dati cresce.

(Ovviamente è piuttosto vecchio, risponde solo perché risulta ancora molto elevato nelle query Google correlate ...)

Ho appena iniziato ad usare AppEngine e non l'ho usato per tonnellate di richieste esterne. Ma so che le informazioni di cui sopra sono probabilmente molto meno valide ora e potrebbero anche non essere ancora valide. Hanno attenuato un po 'i limiti dall'8 settembre. sviluppi successivi.

Se la tua app si basa esclusivamente su Django, allora App Engine è una buona scommessa. Tuttavia, se hai mai bisogno di aggiungere librerie potenziate con C, sei in pericolo. App Engine non supporta elementi come PIL o ReportLab, che utilizzano C per accelerare i tempi di elaborazione. Sto solo citando questo perché potresti voler usare C per velocizzare alcune delle tue routine a lungo termine.

Se decidi di utilizzare un co-loc, controlla WebFaction.com. Hanno un ottimo supporto Django / Python e non hanno alcun problema con te usando le suddette lirbarie.

Dai un'occhiata a Slice Host : vendono istanze server virtualizzate basate su xen a partire da $ 20,00 / mese ...

  

Siamo proprio come te. Malato di ipervenduto,   sottoperformante, hosting antico   aziende. Abbiamo preso le cose nel nostro   le proprie mani. Abbiamo costruito una società di hosting   per le persone che conoscono le loro cose. Dare   noi una scatola, dacci la larghezza di banda, dacci   performance e ci mettiamo al lavoro. Veloce   macchine, unità RAID-10, livello 1   larghezza di banda e accesso root. Gestito   con un backend Xen VPS personalizzato su   assicurati che le tue risorse lo siano   protetto e garantito.

È ottimo per avviare un progetto e ridimensionarlo SENZA sostenere i costi di un fornitore gestito o di un colo.

No. Se devi eliminare molte cose, App Engine non funzionerà così bene. Puoi usarlo come front-end mettendo i tuoi dati nel loro negozio dopo aver eseguito la pre-elaborazione offline, ma non puoi fare molto nel ~ 1 secondo tempo che hai per richiesta senza fare un po 'di davvero pazzo le cose.

La tua app sarebbe probabilmente migliore sul tuo hosting.

L'estrazione di feed o l'esecuzione di calcoli non sarà un problema. Ma presto dovrai pagare per il tuo account. Il motore dell'app include Django, tranne per il fatto che dovrai lavorare con alcuni adattatori per la parte del modello. Ti salverà sicuramente dal mal di testa da manutenzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top