2009-05-08 30 views
5

Estoy desarrollando algún tipo de simulación de mercado financiero en GAE. Aunque he logrado mucho progreso, he comenzado a descartar GAE y buscar una solución Django + rdbms en los últimos días. Permítanme decir mis razones:debería dejar Google App Engine?

  1. transacciones: GAE soporta transacciones con grupos de entidades individuales. si una aplicación implica transacciones complejas, como una en un mercado financiero, no puede usar este mecanismo (léase: no hay mecanismo de transacción disponible). Algunos usuarios nobles han desarrollado una solución que aborda este problema, pero todavía no se ha lanzado, y se dice que está disponible solo en Java.

  2. búsqueda de texto completo: ironic es, pero actualmente existe una API muy primitiva. Además, una mejora no se menciona en el mapa de ruta.

  3. paginación: el desarrollo de un mecanismo de búsqueda amigable no es para los pusilánimes (o para la fecha límite presionada).

  4. proceso de fondo: Los lotes son importantes en aplicaciones financieras, y por el momento tengo que experimentar con Cron. Pero creo que los procesos en segundo plano están en la hoja de ruta y estarán disponibles en poco tiempo.

me eligieron GAE con el fin de acortar el tiempo de desarrollo y hacer frente a los problemas de escalabilidad que pueden ocurrir en el futuro con facilidad. Me gusta mucho GAE, tiene algunas características excelentes, pero abordar estas cuestiones juntas requerirá demasiado esfuerzo, y es probable que anule los beneficios de usar GAE en primer lugar.

¿Qué harías si fueras yo?

Respuesta

2

Después de masticar el tema, he decidido buscar una solución django + rdbms. Parece que GAE necesita tiempo para alcanzar la madurez.

0

¿Cuánto trabajo sería moverlo? Interesante para conocer sus experiencias con GAE.

Siempre pienso que es mejor tener más control, y si está golpeando contra paredes de ladrillo debe moverse. Esa es mi opinión, ¡espero que ayude!

+0

Gracias por el apoyo :) – shanyu

1

Como aprendió, a menudo uno no descubre todos los problemas y dificultades de un entorno de desarrollo como GAE hasta después de que uno lo haya usado por un tiempo. Esto es muy probable en cualquier entorno.

Antes de comprometerse con un entorno alternativo (Django + rdbms), ¿qué tan familiarizado está con esa plataforma? Si es nuevo en esto, puede descubrir que se encuentra con otros problemas.

Si, por otro lado, está completamente familiarizado con Django + rdbms, entonces es otra historia. Por supuesto, uno se pregunta si está familiarizado con ellos, ¿por qué eligió GAE en primer lugar? Debes haber sentido que ofrecía algunos beneficios de los que estarías renunciando al abandonar GAE.

Quizás necesite hacer una lista de los más y los menos para cada plataforma y luego intente equilibrar las listas para tomar una decisión. En última instancia, no existen balas mágicas, e indudablemente tendrá algunos problemas sin importar el camino que tome.

+0

Tienes razón, y no tengo experiencia en django. pero en el territorio de rdbms no te metes en problemas con los problemas que expuse. la escalabilidad puede convertirse en un problema, pero presumiblemente no en el corto plazo. a largo plazo, se llega a saber cómo manejar las cosas. – shanyu

3

si necesita transacciones en segundo plano + escalabilidad en la nube Amazon Elastic Cloud Computing es la única posibilidad que conozco. es un poco más difícil de mantener, ya que básicamente obtienes todo tu sistema operativo, pero esto te da también la flexibilidad de ejecutar todo lo que quieras ...

1

Como dice Andreas, echa un vistazo a Amazon Web Services, es un entorno de producción serio y te dará muchas cosas que quizás no hayas pensado incluir una red de entrega de contenido (ahorra ancho de banda), db simple y la interesante (pero todavía tengo que pensar en un uso que pueda ponerle) servicio de Machanical Turk, servidores virtuales Oh year y EC2: ejecute lo que quiera en estos.

5
  1. transacciones: Usted es correcta, GAE no pueden manejar consultas complejas, pero nada con un enfoque Big-Tabla serían capaces de manejar cálculos complejos como una RDB.

  2. búsqueda de texto: Al trabajar con la API 'primitiva' para la búsqueda de texto completo tiene razón para mantenerse alejado, es muy mediocre y de ninguna manera escalable (no puede combinar más de cuatro términos para buscar, Recuerdo correctamente).

  3. proceso en segundo plano: El proceso CRON disponible con el último lanzamiento no es tan malo, pero creo que está buscando hacer mucho más con los procesos en segundo plano.