Comunidad de diseño web y desarrollo en internet online

Crear servidor multiusuario

Citar            
MensajeEscrito el 10 Nov 2010 02:21 am
Buenas a todos.

Estoy con un proyecto para desaroollar algo como Club Penguin (ó tantos otros mundos virtuales que andan dando vueltas por la red). Estoy con el tema del server multiusuario, pensando en desarrollar uno yo mismo, en Java.

Antes de seguir:
- Conozco SmartFoxServer (SFS), lo he usado en otros 3 proyectos, pero me resulta costoso, ya que es un proyecto auto financiado.
- Por otro lado, estuve leyendo sobre Red5, pero no he encontrado mucha documentación al respecto y no termino de discernir si me va a servir o no.
- El server es quien se tiene q encargar de hacer las validaciones de las peticiones. El cliente solo debe ejecutar los mensajes recibidos. Este es un punto por el cual no me sirve SFS.

Volviendo a mi idea de desarrollar yo mismo el server (primero debo aclarar que si bien conozco de Java, nunca he desarrollado nada robusto, ni cuento con mucha experiencia), he estado leyendo bastante y probando varias cosas, pero mientras mas leo, menos me decido sobre algunas cuestiones. Por ejemplo:

Modelo de negocio (referido al server):
- ¿Vale la pena desarrollar uno propio habiendo opciones factibles?
No me decido aún a hacer uno propio, principalmente por el tiempo que me pueda llevar, pero quizas me sea mas simple a la hora de tener que ampliarlo, ó del mismo mantenimiento. Quizas otra razón para desarrollar uno propio es la posibilidad de comerciarlo luego como un servicio. NO sé, tengo ganas de hacer uno, pero no sé si vale, ó no, el esfuerzo.

Tecnología:
- ¿Es Java la tecnología ideal? ¿Por que no C++ ó C#?
En este punto estoy casi seguro de que Java es lo ideal, por ser multiplataforma principalmente, porque es simple de mantener, etcétera. Pero me gustaría saber qué opinan.

- ¿Debería de concentrar todos los procesos (creacíon de cuentas de usuarios, login, banneos, peticiones, mensajes, y un largo etcétera) en el mismo server, ó debería de separar funcionalidades utilizando, por ejemplo, PHP para ciertos procesos?
Aquí creo que lo mejor seria separar la parte de creación de cuenta y autenticación, e implementarlo en PHP. No le encuentro muchas contras al hacerlo de esta manera, pero de todos modos cuéntenme qué opinan.

Persistencia de datos:
- ¿Debo usar Hibernate para persistir los datos de los usuarios concurrentes? ¿O bien debo persistir los datos en memoria? ¿Que es mejor en cuanto a performance? ¿Que es mas simple de mantener? ¿Es una opción válida persisitir los datos grabando ficheros físicos?
En este punto me encuentro con la disyuntiva de si debo priorizar la performance ó el mantenimiento. No encuentro la sintesis de ambas cosas.

Bueno, creo que para arrancar a debatir sobre el tema es suficiente, aguardo sus comentarios.

Desde ya, muchas gracias por las respuestas.

Saludos,

Dario.

Por DarioGimenez

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Nov 2010 02:31 am

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 10 Nov 2010 12:34 pm
Hernan, buenos dias.

Gracias por la respuesta. Pero antes de crear este tema leí exactamente ese mismo post. Pero no quise meterme en el mismo para no desvirtuarlo.

De todas maneras, sigo con las mismas dudas, si tienes un momento, me gustaria saber tu opinión al respecto.


Saludos.

Por DarioGimenez

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Nov 2010 07:40 pm
Java está muy bien, separar funcionalidad mejora las chances de escalabilidad y recovery, escribir tu propio server no tiene ningún sentido, a menos que quieras aprender a hacerlo, lo cual es buen motivo. ¿Hacer un Club Penguin tu solo ... really? Consigue un buen equipo para poder discutir estas cosas, y recuerda que en proyectos autofinanciados la mejor tecnología es aquella que domine tu equipo de desarrollo, a menos que tengas el dinero para elegir especialistas.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Nov 2010 01:09 pm
Jorge, gracias por la respuesta.

Se que suena a locura hacer algo asi yo solo. En realidad puse el ejemplo de Penguin para ejemplificar la idea general, es algo MUCHO mas pequeño.

Claramente no tengo dinero para un equipo, pero tengo de mi tiempo y esfuerzo para dedicarle. Esperemos que sea suficiente :P

Saludos,


Dario.

Por DarioGimenez

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.