2012-04-10 7 views
5

Quería que otros me explicaran, qué enfoque es mejor: usar una sesión o diseñarla sin sesión. Estamos comenzando a desarrollar una nueva aplicación web y aún no hemos decidido qué camino seguir.Diseño de aplicación web: sesión o sesión sin

diseño de la sesión, menos es más preferible la OMI:

Pros:

  1. escalabilidad. Podemos tener tantos servidores como queramos sin tener que compartir una sesión de usuario. Cada uno de ellos puede procesar solicitudes (por ejemplo, balanceo de carga mediante round robin).
  2. Guarda los recursos del servidor. No necesitamos asignar memoria en el lado del servidor (de nuevo - escalabilidad).
  3. No hay necesidad de recuperar después de reiniciar el servidor.

Contras:

  1. tener que mantener una cierta información relacionada con el usuario en las cookies (no crítico).
  2. Requiere más codificación (pero no mucha codificación).

¿Hay algún tema que tengamos en cuenta antes de tomar la decisión final?

+0

Stack Overflow no es un buen lugar para la discusión abierta. Consulte http://stackoverflow.com/faq –

+0

Reformuló la pregunta en una forma más apropiada. –

Respuesta

4

Las aplicaciones de hoy en día pueden crecer muy rápido (solo eche un vistazo a todas esas herramientas "pequeñas, simples" como pastebin, jsfiddle, etc.). Y en algún momento una máquina de gama alta de 16 núcleos no es suficiente (algunas personas podrían decir "tienes que recodificar tu aplicación para ahorrar energía de la CPU bla-bla", pero el límite de conexión http por servidor también es un problema) . Por lo tanto, si planea crear una aplicación pública que podría llegar a ser más popular de lo esperado, ¡comenzar "sin sesiones" es el camino a seguir! Para ser honesto, esto solo afectará a las personas que escriben cosas realmente grandes.

Las ventajas más importantes para las sesiones son: mucho menos tráfico a la base de datos mySQL y una codificación mucho más sencilla. Pero tendrá que volver a escribir todo su sistema cuando su aplicación crezca.

+1

Creo que no es necesario que tengas mucho más tráfico en mySQL; solo conserva todos los usuarios en la memoria (por ejemplo, una gran tabla hash por ID de usuario), lo cual es absolutamente factible. –

Cuestiones relacionadas