Buenas tardes,
estoy realizando una web mediante Struts2 + Hibernate y estoy empezando a plantear como se va a realizar el control de las caches y sesiones de la base de datos. La prevision de volumen de usuarios de la web es muy alta, hablando de miles.
He estado informandome como se controla la cache en Hibernate , que si cache de 1º nivel de 2º nivel , etc.... pero aun me quedan dudas.
¿Como hago el control de sesiones? Es decir, si mantengo una sesion única por cada cliente conectado y asi aprovechar su cache de primer nivel por si hace consultas sucesivas y poner un timeout por si abandona la pagina. ¿O bien abro y cierro las sesiones para cada consulta (ya sea escritura o lectura) de la base de datos?
Estoy pensando en mantener una sesion por usuario junto con una cache de segundo nivel, asi si un usuario navega por la pagina repetidamente mantiene su cache de primer nivel, y en caso de que cambie algún dato puede hacer uso de la cache de segundo nivel.
¿Que opinais?