Mi DAL está implementado con Hibernate
y quiero usar EHCache
como su segundo nivel de caché con sus capacidades distribuidas (para escalabilidad y HA).
Viendo como EHCache
proporciona el caché distribuido solo con Terracotta
mi pregunta es ¿cuál es el rol de la instancia del servidor Terracotta
? ¿También contiene datos? ¿Coordina solo la distribución entre las partes de caché particionadas?
Mi confusión deriva principalmente de this explicación con respecto a TSA que dice que el servidor contiene los datos, pero creo que tal vez en mi caso el caché y el servidor Terracotta
se combinan. ¿Estoy en lo correcto?
Si el servidor contiene datos, ¿por qué no debería pasar el cuello de botella del servidor de base de datos al servidor Terracotta
?¿Qué hace un servidor de Terracotta cuando se utiliza como back-end para EHCache con Hibernate?
Actualización: respuesta de Affe respondido a la segunda parte de mi pregunta, que era la parte más importante, pero sólo en caso de que alguien viene buscando la primera parte voy a decir que el servidor TC tiene que contener todos los datos que el EHCache en la memoria se mantiene y, por lo tanto, si desea un caché distribuido (no replicado), el L2 (servidor TC) también debe contener todos los objetos.
Gracias de antemano,
Itai
Entiendo la pregunta como: por qué EHCache necesita terracota, mientras que por ejemplo, la memoria caché de JBoss está descentralizada y no necesita ningún servidor adicional – Bozho
Esa no era la pregunta en realidad, pero es un buen apéndice. – Ittai
Supongo que no tenemos claro cuál de ustedes? las declaraciones son retóricas y cuál es la pregunta real? 'Sí', lo entiende, la solución de terracota usa un clúster de servidor externo. Traté de enfocarme en la última pregunta real de por qué te molestarías en hacer tal cosa. – Affe