¿Cuál sería la mejor opción de idioma / biblioteca para escribir un servidor de servicio web escalable? [cerrado]

Participé en un proyecto para escribir una plataforma de servicio y difusión de juegos, que permitiría a los desarrolladores de juegos subcontratar fácilmente la distribución y las actualizaciones del juego, así como ofrecer ciertas partes del multijugador / comunidad, como logros, clasificaciones, amigos, etc. servicio web en forma de API SOAP o REST.

No estoy seguro de cuán viable es en términos de lograr participación de mercado, pero no obstante, la aplicación debe estar escrita para escalar horizontalmente bien para absorber cualquier cantidad de posibles usuarios. Dado que el proyecto aún se encuentra en sus primeras etapas, tengo cierto grado de influencia con respecto al lenguaje y las tecnologías que se utilizarán.

Hasta ahora, mi investigación ha reducido la elección a Erlang o un lenguaje basado en JVM.
Erlang es ampliamente conocido por su enfoque en aplicaciones distribuidas escalables y tolerantes a fallas y un historial probado, pero por otro lado, su ecosistema de bibliotecas no es tan rico como el de JVM. Los lenguajes JVM, por otro lado, disfrutan de una gran comunidad con una multitud de bibliotecas, muchas de las cuales se esfuerzan por brindar servicios distribuidos y confiables, como Terracota o Akka (que parece estar inspirado en Erlang, aunque no estoy seguro de cuánto de es la fuerza a la que se acerca y me gustaría saberlo).
Dado que la productividad del lenguaje es de igual importancia que la fuerza y ​​confiabilidad de la plataforma, me inclinaría hacia Scala o Clojure sobre Java si tuviera que usar JVM. Por supuesto, si cree que hay otro idioma (JVM o no) más adecuado para tal tarea, me interesa saberlo.

No me gustaría leer una lista de viñetas de las características interesantes del lenguaje, ya que eso es lo que puedo buscar en Google por mí mismo, prefiero estar interesado en sus propias experiencias al escribir una aplicación de este tipo (un poco en la línea de esas publicaciones de blog - enlace), aunque no solo en lo que respecta al rendimiento en bruto, sino también a cuestiones de idioma y biblioteca.

Me gustaría saber cuáles fueron sus elecciones de idioma y tecnología (o de su empresa) para este tipo de proyecto, qué motivó esa elección, cuáles fueron sus experiencias al utilizar la plataforma elegida y, en última instancia, se cumplió.
Todo conocimiento será muy apreciado; )

preguntado el 16 de mayo de 11 a las 20:05

Erlang probablemente escalará más fácilmente, pero comienza con muy bajo rendimiento. Yo diría que solo vaya con eso si un tiempo de desarrollo rápido es más importante que la cantidad de servidores que desea ejecutar. -

1 Respuestas

Dado su interés inicial en Erlang, tendría que decir Scala.

Los actores de Scala se inspiraron directamente en Erlang, y Akka comenzó (hace mucho tiempo) como un puerto de la OTP de Erlang al lenguaje Scala.

Tanto Scala como Akka son soluciones sólidas que se utilizan en entornos comerciales y cuentan con el respaldo de la empresa recién formada "Typesafe". Además, obtiene todas las ventajas declaradas de ejecutar en la plataforma JVM.

contestado el 17 de mayo de 11 a las 00:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.