Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End...

19
Cache Distribuida Ayudante - German Rende

Transcript of Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End...

Page 1: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Cache DistribuidaAyudante - German Rende

Page 2: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

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

Page 3: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

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

Page 4: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Java 1.6

Eclipse / NetBeans

Maven

PostgreSQL 8.3

Hibernate 3.2.6

Junit

Google-Guice

Java Remote Method Invocation (RMI)

Page 5: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

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

Page 6: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Destacados•Brokering entre nodo y cliente mediante RMI•Modelo independiente del protocolo de comunicación

Page 7: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Destacados•Interoperativilidad entre procesos heterogéneos•Abstracción de la localización física del cliente, nodos, loggers y storages

Page 8: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Destacados•Diseño distribuido para Nodos, Clientes y Loggers•Bajo acoplamiento (uso intensivo de interfaces)

distribuida

local

Page 9: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

item

Destacados•La clase Item es la unidad de almacenamiento•Serialización binaria de los objetos

Page 10: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Destacados•Patrón Factory•Patrón Proxy•Dependencias a través de interfaces

Page 11: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Destacados•Segregación de interfaces•Patrón Factory•Patrón Strategy

node-rmi

sync

Page 12: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Destacados•Patrón Composite•Segregación de interfaces•Template Methods

storage

Page 13: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

storage listener

Cada Listener decide cuando lanzar el Garbage Collector de acuerdo a distintas condiciones

garbage collector

Page 14: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Cache 1

Clúster

Cache 2

Page 15: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Clúster

Item1

Item1 Item2

Cache 1

Cache 2Item2

Page 16: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

Item2

Clúster

Item1Item2

Item2

Cache 1

Cache 2

Item2

Page 17: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.

C1

Clúster

N2

N1 N3

C2

N4

Page 18: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.
Page 19: Cache Distribuida Ayudante - German Rende. Front End 4 Servidores Base de Datos 1 Servidor Back End 4 Servidores Sistema Granja de Servidores Clientes.