¿Cuál es el mejor marco web para crear un back office de juegos con MongoDB?

Entonces, para empezar, MongoDB puede no ser la respuesta a lo que puede ser un simple problema de partición. Zynga y muchos otros escalaron a cientos de servidores usando una combinación de MySQL y Memcache con una simple capa de partición. MongoDB puede ser más eficiente para almacenar / recuperar blobs de datos del reproductor, pero PostgreSQL también tiene características JSON similares.

También es cuestionable que desee servir “datos a los jugadores” y “guardar acciones del jugador” en la misma base de datos y mucho menos el mismo tipo de base de datos.

El servicio de datos a los jugadores pertenece a una base de datos de alto rendimiento y baja latencia, probablemente alojada principalmente ( completamente ) en la memoria. Si realmente está interesado en construir un sistema de este tipo con MongoDB, definitivamente se puede hacer, tendrá que contratar a una persona de operaciones y / o registrarse para recibir capacitación. Mantener MongoDB es un trabajo no trivial a tiempo completo. Muchas aplicaciones móviles usan cosas como Parse o http://firebase.com para descargar la complejidad de administrar servidores y escalar. De hecho, ambos tienen API completas para integrarse con productos móviles. Además, si utiliza un proveedor de alojamiento en la nube ( AWS, Azure, Rackspace, etc. ), todos ellos proporcionan bases de datos NoSQL de escala automática que no requieren que contrate a una persona de operaciones.

El análisis de las acciones del usuario generalmente se realiza tanto en una base de datos Timeseries como en una base de datos Map / Reduce. El primero para estadísticas en tiempo real, el último para análisis profundo. Si bien MongoDB tiene algunas características para esto, es subóptimo tanto en Timeseries como en análisis M / R. Ambos son mejor servidos por herramientas como Kibana y Hadoop.

… ¿Qué marco web es mejor para esta tarea en combinación con MongoDB?

Honestamente, lo que sea que te sea cómodo usar. MongoDB, junto con todas las cosas que mencioné, tienen un soporte de lenguaje bastante amplio. Su experiencia con la herramienta es mucho más importante que la herramienta que está utilizando.

Si desea construir una API REST, no obtendrá un impulso 10 veces mayor utilizando Restify / node.js sobre ServiceStack / .NET. Todavía tendrá que escribir un montón de código de autenticación y validación y un montón de transformaciones de datos.