Pregunta

Estoy creando una aplicación Lifestreaming que involucrará la eliminación de muchos feeds para muchos usuarios, y la extracción de datos y algoritmos de aprendizaje automático en los resultados. El hospedaje balanceado y escalable de GAE suena como un buen ajuste para un sistema que eventualmente podría estar moviéndose MUCHO de datos, pero la falta de trabajos cron es una molestia. ¿Estaría mejor usando Django en una ubicación conjunta y lidiando con mi propio escalado de base de datos?

¿Fue útil?

Solución

Si bien no puedo responder directamente a tu pregunta, mi experiencia de crear Microupdater (un recopilador de noticias que recopila Unos pocos cientos de fuentes en AppEngine pueden darte una pequeña idea.

  • Recuperando feeds. La obtención de muchos feeds por trabajos cron (fue la única solución hasta el SDK 1.2.5) no es eficiente y escalable, lo que tiene un límite inferior en la frecuencia de trabajos (por ejemplo, 1 minuto, por lo que solo se pueden obtener 60 feeds por hora). Y con el último SDK 1.2.5, hay API de XMPP , que aún no he implementado. El mejor enfoque prometedor sería PubSubHubbub , del cual ofrece una url de devolución de llamada y HubBub lo notificará Tus nuevas entradas en tiempo real . Y hay una implementación de demostración en AppEngine, que puedes jugar.

  • fuentes de análisis. Es posible que ya sepa que las fuentes de análisis son intensivas en CPU. Utilizo Universal Feed Parser de Mark Pilgrim, cuando analizo un feed grande (digamos un tema público de Google Reader). AppEngine puede fallar al procesar todas las entradas. Mi panel tiene muchas de estas advertencias de límite de CPU. Pero puede resultar en mi incapacidad para optimizar el código todavía.

Totalmente dicho, AppEngine aún no es una plataforma ideal para la aplicación lifestream, pero eso puede cambiar en el futuro.

Otros consejos

Puede cambiar cuando ofrecen planes pagados, pero tal como está, App Engine no es bueno para aplicaciones que requieren un uso intensivo de la CPU. Está diseñado para escalar para manejar un gran número de solicitudes, no necesariamente una gran cantidad de cálculo por solicitud. Me estoy topando con este problema con cálculos bastante menores, y me temo que debo comenzar a buscar en otra parte a medida que mi conjunto de datos crezca.

(Esto es obviamente bastante antiguo, respondiendo solo porque todavía aparece muy alto en las consultas relacionadas con Google ...)

Acabo de comenzar a usar AppEngine y no lo he estado usando para toneladas de solicitudes externas. Pero sí sé que la información anterior es probablemente mucho menos válida ahora, y es posible que ni siquiera esté de pie. Se relajaron un poco los límites desde el 8 de septiembre: consulte el blog de Aral Balkan para conocer su queja inicial sobre lo anterior, y desarrollos posteriores.

Si tu aplicación solo se basa en Django, entonces App Engine es una buena apuesta. Sin embargo, si alguna vez necesitas agregar bibliotecas mejoradas con C, estás en un arroyo. App Engine no admite cosas como PIL o ReportLab, que usan C para acelerar los tiempos de procesamiento. Solo menciono esto porque es posible que desee usar C para acelerar algunas de sus rutinas a largo plazo.

Si decide utilizar un co-loc, visite WebFaction.com. Tienen un excelente soporte de Django / Python y no tienen ningún problema con usted al usar las bibliotecas mencionadas anteriormente.

Echa un vistazo a Slice Host : venden instancias de servidor virtualizadas basadas en xen desde $ 20.00 / mes ...

  

Somos como tú. Enfermo de sobreventa,   bajo rendimiento, antiguo alojamiento   compañías. Tomamos los asuntos en nuestro   propias manos. Construimos una empresa de hosting.   Para las personas que saben lo que hacen. Dar   nosotros una caja, danos ancho de banda, danos   Rendimiento y nos ponemos a trabajar. Rápido   máquinas, unidades RAID-10, Tier-1   Ancho de banda y acceso root. Administrado   con un backend Xen VPS personalizado para   asegúrese de que sus recursos son   protegido y garantizado.

Es genial para iniciar un proyecto y ampliarlo SIN incurrir en los costos de un proveedor o colo administrado.

No. Si necesitas derribar muchas cosas, App Engine no va a funcionar tan bien. Puedes usarlo como una interfaz al poner tus datos en su tienda después de realizar el preprocesamiento sin conexión, pero no puedes hacer mucho en la primera vez que tienes por solicitud sin hacer algo realmente loco cosas.

Es probable que tu aplicación esté mejor en tu propio alojamiento.

No será un problema tirar de feeds o hacer cálculos. Pero pronto tendrás que pagar por tu cuenta. El motor de aplicaciones incluye Django, excepto que necesitarás trabajar con algunos adaptadores para la parte del modelo. Seguramente te salvará de los dolores de cabeza de mantenimiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top