19
Cache Distribuida Ayudante - German Rende

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

Embed Size (px)

Citation preview

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