Upload
chico-alcoser
View
7
Download
3
Embed Size (px)
Citation preview
Cache DistribuidaAyudante - German Rende
Front End4 Servidores4 Servidores
Base de Datos1 Servidor1 Servidor
Back End4 Servidores4 Servidores
SistemaSistemaGranja de ServidoresGranja de Servidores
Clientes Concurrentes
Cuello de BotellaCaída abrupta de la performance del sistema en horas pico
Cuello de BotellaCaída abrupta de la performance del sistema en horas pico
Base de Datos
Cliente
CacheCache
Clúster de almacenamiento de la CacheClúster de almacenamiento de la Cache
SistemaSistemaSistemaSistema
Nodo LocalNodo Local
Nodos RemotosNodos Remotos
Configuraciones Posibles• Local Cache• Replicated Cache• Optimized Cache• Partitioned Cache
Java 1.6
Eclipse / NetBeans
Maven
PostgreSQL 8.3
Hibernate 3.2.6
Junit
Google-Guice
Java Remote Method Invocation (RMI)
Minimizar el acoplamiento entre los distintos componentes
Permitir la reutilización de componentes
Facilidad para modificar la configuración y extender / cambiar funcionalidad
Facilidad de probar los componentes en forma aislada
Destacados•Brokering entre nodo y cliente mediante RMI•Modelo independiente del protocolo de comunicación
Destacados•Interoperativilidad entre procesos heterogéneos•Abstracción de la localización física del cliente, nodos, loggers y storages
Destacados•Diseño distribuido para Nodos, Clientes y Loggers•Bajo acoplamiento (uso intensivo de interfaces)
distribuida
local
item
Destacados•La clase Item es la unidad de almacenamiento•Serialización binaria de los objetos
Destacados•Patrón Factory•Patrón Proxy•Dependencias a través de interfaces
Destacados•Segregación de interfaces•Patrón Factory•Patrón Strategy
node-rmi
sync
Destacados•Patrón Composite•Segregación de interfaces•Template Methods
storage
storage listener
Cada Listener decide cuando lanzar el Garbage Collector de acuerdo a distintas condiciones
garbage collector
Cache 1
Clúster
Cache 2
Clúster
Item1
Item1 Item2
Cache 1
Cache 2Item2
Item2
Clúster
Item1Item2
Item2
Cache 1
Cache 2
Item2
C1
Clúster
N2
N1 N3
C2
N4