SlideShare una empresa de Scribd logo
1 de 34
1
Usando “Windows Server
    AppFabric Caching” en
    escenarios de alta
    disponibilidad
    Mariano Omar Rodriguez
    Arquitecto
    Tellago Inc.



2
Arquitectura típica                                          Web sites
                                                                  lentos
                                                                             Usuarios

                                                                        Load Balancer
                                                                        Sticky Routing
     Donde esta
      el carrito                                                          Aplicación
                                                                         / Capa Web
                   Aplicación    Aplicación         Aplicación


                                                                        ASP.NET App
                                                                         Carrito en
                                               Servidores                Session en
         Base de
                                              comienzan a                 memoria
          Datos
       sobrecargada                              fallar                       Capa de
                                Base de
                                 Datos                                         Datos

                                                                       Catálogos en la
                                                                       Base de Datos
3
Objetivos de la sesión
     El problema
     Cacheando con Windows Server AppFabric
     Overview
     Desarrollo




4
¿Que es AppFabric Caching?
     Es un cache explicito, distribuido y en
     memoria para aplicaciones y cualquier tipo
     de dato.
       Objetos CLR, XML, Datos Binarios, etc.
       La memoria es distribuida entre múltiples
       servidores.




5
¿Que es AppFabric Caching?
                                      Los clientes del
                                     cache acceden a
                                     través del cliente


                                        Los clientes
                                     acceden al cache
         Vista unificada del cache     como si fuera
                                           único

                                     La capa de cache
                                       distribuye los
                                     datos a través de
                                     diferentes nodos




6
¿En que capa va?
                                                                                               Usuarios




          Aplicación                        Aplicación
                                                              …                 Aplicación
                                                                                              Capa Web
                                                                                              (ASP.NET)
       Capa de acceso al                  Capa de acceso al               Capa de acceso al
            Cache                              Cache                           Cache




                                                                                              Capa de
                                                                                               Capa de
                                     Database                 Cloud                            Cache
                                                                                                Datos
                                                Caching
                                                Service




                                                                      Caching
                                                                      Service
                           Caching
                           Service




7
¿Por que usarlo?
     Comparte datos a través de diferentes
     aplicaciones.
       No hay necesidad de ruteo “Pegajoso”.
     Performance
     Escalabilidad horizontal (Scale-out)
     Disponibilidad




8
Deployment                                                                                                                   Usuarios
         Copiar assemblies
          cliente y agregar
              app.config

    <hosts>
                                                                                        …
       <host name="BL1CDB8083714“                          Aplicación                       Aplicatión                               Aplicatión
        cachePort="22233"                               Caching Access Layer            Caching Access Layer                     Caching Access Layer
       cacheHostName="DistributedCacheService"/>
      …..
     </hosts>
    <localCache isEnabled=“true" ../>
    <security … />
                                                                                                                                    Web Tier




                                                                                            Caching Service




                                                                                                               Caching Service
                                                                      Caching Service
           Habilitar el rol
           de servidor de
                                                                                                                                    Cache Tier
               cache
                                                   Configuración
                                                   (Base de datos, file system share, etc.)
                                                   Almacena políticas del cache
9                                                  Almacena información de particionamiento
Seguridad
      Seguridad basada en el dominio
         Basada en cuentas locales o de dominio
         Solo servidores autorizados pueden unirse al
         cluster
         Solo clientes autorizados pueden conectarse al
         cluster
     grant-cacheallowedclientaccount domainmachine$
     grant-cacheallowedclientaccount domainusername
        Seguridad a nivel transporte
          Firma y encriptación de mensajes

10
Administración y monitoreo
      Administración centralizada a través de
      PowerShell
      Perfmon para monitorear el cache
      Logging
        Soporta EWT




11
Caching API
     var factory = new DataCacheFactory();
     var cache = factory.GetCache(“Catalog”);


     cache.Put(“data-1”, new Data(“Some Data”));
     var data = (Data)cache.Get(“Data-1”);


     cache.CreateRegion(“Region”);
     cache.Put(“data-1”, new Data(“Some Data”),
        “Region”);
     var data = (Data)cache.Get(“Data-1”, “Region”);



12
Caching API – Jerarquia lógica
     1.   Server
     2.   Cache host
     3.   Cache
     4.   Region,
     5.   Items
     6.   Instancias

          Host                                Item
           Dirección fisica de la instancia    Clave, Contenido, Tags, TTL, Ti
          Caches (nombre)                      mestamp y Version
           Pueden residir en varios           Regiones
           servidores.                         Contenedor de items
           Definidos en la configuración.      Creados implicita o
                                               explicitamente

13
Caching API - Tagging
 Permite agregar tags a los items

var tag = new Tag(“Tag”);
cache.Put(“Data-101", new Data(“Data1"),
             new[]{ tag }, “region”);

cache.Put(“Data-102", new Data(“Data2"),
             “Region”);

// From the same or a different client
var objects = cache.GetAnyMatchingTag(“Region“,
                tag);
Demo
 Caching API
Patrón – Cache Aside
     var data = cache.Get(“Data-1”) as
       Data;
                                             Application
                                         Caching Access Layer


     if (data == null)
     {
       data = ReadFromDB();




                                                                Caching Service
       cache.Put(“Data1”, data);
     }




                                             Database




16
Distribución de datos
Cache particionado
 Escalar en memoria: mas máquinas, mas
 memoria para el cache.
 Escalar en throughput: mas
 máquinas, claves mas distribuidas, mejor
 throughput.
Usando las „Features‟
 Clasificar los datos
   Referencia
   Actividad
   Recursos
 Examinar requerimientos
   Performance (Latencia y Throughput)
   Consistencia
   Remoción (¿Son los datos eliminables?)
   Seguridad
   Disponibilidad
Tipos de dato
 Referencia
   No se actualizan frecuentemente
   Compartidos
 Actividad
   Lectura y escritura
   No compartidos
   Ej: Shopping Cart
 Recursos
   Lectura y Escritura
   Compartidos
Datos de Referencia - performace
  El catálogo no cambia o cambia rara vez
  El costo de acceder a diferentes máquinas
  es inecesario
  Solucion: Cache local      Application
 Application                                                          Get(K2)
                                                     Get(K2)
           Put(K2, v3)

 AppFabric Caching Client                          AppFabric Caching Client
                                                        Local Cache      K2, V2
             Routing Table                                     Routing Table


  Cache1                     Cache2                   Cache3
  Primary for K1,V1          Primary for K2,V2        Primary for K3,V3

           K1, V1                         K2, V2
                                              V3                K3, V3
Datos de Actividad - Disponibilidad
       Application
                   (K2, V2)                                       Application
                   PUT                                                         Get(K2)
         AppFabric Caching Client
                    Routing Table                                        AppFabric Caching Client
                                                                                Routing Table


Cache1                          Cache2                         Cache3
Primary for                     Primary for                    Primary for
                                                  K2, V2
                                    Replication
      K1, V1                          Agent                       K3, V3

                                                      K2, V2
Secondary for                   Secondary for                  Secondary for

                K2, V2                K3, V3                                        K1, V1
Datos de Recurso
Bloqueo optimista
 Usando GetCacheItem se obtiene la version
 Cada actulización incrementa la version
 Cuando se llama a Put/Remove se debe
 suministrar la versión.
Datos de Recurso
Bloqueo pesimista
               Cliente1:           Cliente2:           Cliente3:
               GetAndLock ("k1")   GetAndLock ("k1")   Get ("k1")


  GetAndLock obtiene
       bloqueo

       GetAndLock en el                                             Get común
       mismo item falla
                                            K1
Demo
 Bloqueo Optimista
 Bloqueo Pesimista
Notificación de datos
  Notificaciones
  Registran en cualquier cliente para notificar
  cambios
 cache.AddCacheLevelCallback(DataCacheOperations
  filter, DataCacheNotificationCallback callback);

 cache.AddRegionLevelCallback(string region, DataCacheOperations filter,
 DataCacheNotificationCallback callback);

 cache.AddItemLevelCallback(string key, DataCacheOperations filter,
 DataCacheNotificationCallback callback);
Notificación de datos                                                           Registra
                                                                               Notificación
                                                                              para Key “K3"
llama Delegate        Application                                              Mapea Keys
 Store Last LSN                                                               a Particion (ej:
                           AppFabric Caching Client                                 P2)
                                      Routing Table
                                                                                    Poll
                                                                                  Required
                  Partition: P2                                                    Nodes
                  Last LSN: 19
                                                                               Nodes Return
                                                                              List of Changes
                                                                                 LSN Order

  Cache1                          Cache2                       Cache3
  Primary for                     Primary for                  Primary for
                                                                 Change Log

     Change Log
                  K1, V1            Change Log
                                                      K2, V2     (Partition P2)   K3, V3
                                    Partition P1
     33 Add K1                      1 Add K2                     18 Del K32
     34 Del K22                     2 Del K32                    19 Del K43
Demo
 Notifications
Integración con ASP.NET
 Integración con output-cache
 Integración con Session
Demo
 Configurar ASP.NET Session
Recursos adicionales
      Home AppFabric
       http://msdn.microsoft.com/appfabric
      ASP.NET 4 Providers for AppFabric Caching
       http://aspnet.codeplex.com/releases/view/46576?Projec
       tName=aspnet
      AppFabric Caching Features
       http://msdn.microsoft.com/en-us/library/ff383731.aspx
      Admin Tool
       http://mdcadmintool.codeplex.com/



30
Preguntas




31
Participá del DEMOFEST
         Los mejores proyectos de las células
       Microsoft, los grupos de investigación de
     estudiantes, son seleccionados para participar
             en el espacio del DEMOFEST.

                      ¡Conocélos!


32
Necesitamos tu Feedback!
      Completá los FORM
      de avaluación que
      estarán en nuestra
      WEB:
      www.codecamp.com.ar
      Necesitamos de tu
      feedback para mejorar.




33
© 2008 Microsoft Corporation. Todos los derechos reservados. Microsoft, Windows, Windows Vista y otros
      nombres de producto son y pueden ser marcas registradas y registros en Estados Unidos y en otros países.
        La información contenida en el presente es sólo para fines informativos y representa la visión actual de
         Microsoft Corporation a la fecha de esta presentación. Debido a que Microsoft debe responder a las
     cambiantes condiciones del mercado, no se debe interpretar como un compromiso por parte de Microsoft, y
       Microsoft no puede garantizar la precisión de ninguna información provista después de la fecha de esta
     presentación. MICROSOFT NO OFRECE GARANTÍA ALGUNA, EXPRESA, IMPLÍCITA O DE LEY, RESPECTO A LA
                                       INFORMACIÓN EN ESTA PRESENTACIÓN.




34

Más contenido relacionado

Destacado

4 F genesis de una revolucion
4 F genesis de una revolucion 4 F genesis de una revolucion
4 F genesis de una revolucion Adelky Mota
 
Kapricho de kripton
Kapricho de kriptonKapricho de kripton
Kapricho de kriptonTania
 
@Innovaschool es simposium ml 20015
@Innovaschool es simposium ml 20015@Innovaschool es simposium ml 20015
@Innovaschool es simposium ml 20015Plataforma Proyecta
 
Österreichs Geschäftsführer verdienen im Schnitt 292.000 Euro
Österreichs Geschäftsführer verdienen im Schnitt 292.000 EuroÖsterreichs Geschäftsführer verdienen im Schnitt 292.000 Euro
Österreichs Geschäftsführer verdienen im Schnitt 292.000 EuroNEWSROOM für Unternehmer
 
John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...
John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...
John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...John Walsh
 
lettre de recommendation
lettre de recommendationlettre de recommendation
lettre de recommendationJanos F
 
El Espíritu Santo y la dirección de alabanza
El Espíritu Santo y la dirección de alabanzaEl Espíritu Santo y la dirección de alabanza
El Espíritu Santo y la dirección de alabanzaricardoquinteros
 
Introduction to computation history
Introduction to computation historyIntroduction to computation history
Introduction to computation historyMichael Kramarenko
 
Webinar: Email Performance Go Beyond Open and Click RateEmail metrics (1)
Webinar: Email Performance  Go Beyond Open and Click RateEmail metrics (1)Webinar: Email Performance  Go Beyond Open and Click RateEmail metrics (1)
Webinar: Email Performance Go Beyond Open and Click RateEmail metrics (1)Juvlon Email Marketing
 
The fashion channel
The fashion channelThe fashion channel
The fashion channelAmogh Vaidya
 
La selección del otdr
La selección del otdrLa selección del otdr
La selección del otdrkikemat
 
Clean master
Clean master Clean master
Clean master DE_NIETO
 
Building Big Data Applications on AWS
Building Big Data Applications on AWSBuilding Big Data Applications on AWS
Building Big Data Applications on AWSAmazon Web Services
 
Historia Clínica Orientada por Problemas de Salud
Historia Clínica Orientada por Problemas de SaludHistoria Clínica Orientada por Problemas de Salud
Historia Clínica Orientada por Problemas de SaludHans Carranza
 

Destacado (17)

4 F genesis de una revolucion
4 F genesis de una revolucion 4 F genesis de una revolucion
4 F genesis de una revolucion
 
MEDIA FOR DIVERSITY AND MIGRANT INTEGRATION
MEDIA FOR DIVERSITY AND MIGRANT INTEGRATIONMEDIA FOR DIVERSITY AND MIGRANT INTEGRATION
MEDIA FOR DIVERSITY AND MIGRANT INTEGRATION
 
Direccion de video
Direccion de videoDireccion de video
Direccion de video
 
Kapricho de kripton
Kapricho de kriptonKapricho de kripton
Kapricho de kripton
 
@Innovaschool es simposium ml 20015
@Innovaschool es simposium ml 20015@Innovaschool es simposium ml 20015
@Innovaschool es simposium ml 20015
 
Österreichs Geschäftsführer verdienen im Schnitt 292.000 Euro
Österreichs Geschäftsführer verdienen im Schnitt 292.000 EuroÖsterreichs Geschäftsführer verdienen im Schnitt 292.000 Euro
Österreichs Geschäftsführer verdienen im Schnitt 292.000 Euro
 
Tipos de sitios web internet
Tipos de sitios web internetTipos de sitios web internet
Tipos de sitios web internet
 
John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...
John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...
John Smyth - Marketing, Clicks to Conversions - Inside eCommerce MicksGarage ...
 
lettre de recommendation
lettre de recommendationlettre de recommendation
lettre de recommendation
 
El Espíritu Santo y la dirección de alabanza
El Espíritu Santo y la dirección de alabanzaEl Espíritu Santo y la dirección de alabanza
El Espíritu Santo y la dirección de alabanza
 
Introduction to computation history
Introduction to computation historyIntroduction to computation history
Introduction to computation history
 
Webinar: Email Performance Go Beyond Open and Click RateEmail metrics (1)
Webinar: Email Performance  Go Beyond Open and Click RateEmail metrics (1)Webinar: Email Performance  Go Beyond Open and Click RateEmail metrics (1)
Webinar: Email Performance Go Beyond Open and Click RateEmail metrics (1)
 
The fashion channel
The fashion channelThe fashion channel
The fashion channel
 
La selección del otdr
La selección del otdrLa selección del otdr
La selección del otdr
 
Clean master
Clean master Clean master
Clean master
 
Building Big Data Applications on AWS
Building Big Data Applications on AWSBuilding Big Data Applications on AWS
Building Big Data Applications on AWS
 
Historia Clínica Orientada por Problemas de Salud
Historia Clínica Orientada por Problemas de SaludHistoria Clínica Orientada por Problemas de Salud
Historia Clínica Orientada por Problemas de Salud
 

Similar a Windows Server AppFabric Caching

Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindioSantiago Bernal
 
Fast tracktothecloud nestorrequesens-itequia-20110331
Fast tracktothecloud nestorrequesens-itequia-20110331Fast tracktothecloud nestorrequesens-itequia-20110331
Fast tracktothecloud nestorrequesens-itequia-20110331MICProductivity
 
Oscar Pereira Marques. Mod 1 Act 3. Licencias CC
Oscar Pereira Marques. Mod 1 Act 3. Licencias CCOscar Pereira Marques. Mod 1 Act 3. Licencias CC
Oscar Pereira Marques. Mod 1 Act 3. Licencias CCOSCAR G.J. PEREIRA M
 
Marcos quesada caching_sf2
Marcos quesada caching_sf2Marcos quesada caching_sf2
Marcos quesada caching_sf2symfony_bcn
 
Hernandez sagastume-almacenamiento de la nube
Hernandez sagastume-almacenamiento de la nubeHernandez sagastume-almacenamiento de la nube
Hernandez sagastume-almacenamiento de la nubejorgesagastume77
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nubeDiana Vargas
 
Pinceladas SQL 2012, Alta Disponibilidad
 Pinceladas SQL 2012, Alta Disponibilidad Pinceladas SQL 2012, Alta Disponibilidad
Pinceladas SQL 2012, Alta DisponibilidadSolidQ
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaDemián Gutierrez
 
08 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 200908 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 2009Pepe
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCJuan Pablo
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nubeDAISYQUILLIGANA
 
Aplicación y Alcances de la Virtualización
Aplicación y Alcances de la VirtualizaciónAplicación y Alcances de la Virtualización
Aplicación y Alcances de la VirtualizaciónMundo Contact
 
ITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMwareITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMwareITRANSER, S.A
 
Blue Coat Internet Gateway
Blue Coat Internet GatewayBlue Coat Internet Gateway
Blue Coat Internet GatewayItalo Daffra
 

Similar a Windows Server AppFabric Caching (20)

Cloud computing
Cloud computingCloud computing
Cloud computing
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindio
 
Fast tracktothecloud nestorrequesens-itequia-20110331
Fast tracktothecloud nestorrequesens-itequia-20110331Fast tracktothecloud nestorrequesens-itequia-20110331
Fast tracktothecloud nestorrequesens-itequia-20110331
 
Oscar Pereira Marques. Mod 1 Act 3. Licencias CC
Oscar Pereira Marques. Mod 1 Act 3. Licencias CCOscar Pereira Marques. Mod 1 Act 3. Licencias CC
Oscar Pereira Marques. Mod 1 Act 3. Licencias CC
 
Marcos quesada caching_sf2
Marcos quesada caching_sf2Marcos quesada caching_sf2
Marcos quesada caching_sf2
 
Nube
NubeNube
Nube
 
Hernandez sagastume-almacenamiento de la nube
Hernandez sagastume-almacenamiento de la nubeHernandez sagastume-almacenamiento de la nube
Hernandez sagastume-almacenamiento de la nube
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nube
 
Pinceladas SQL 2012, Alta Disponibilidad
 Pinceladas SQL 2012, Alta Disponibilidad Pinceladas SQL 2012, Alta Disponibilidad
Pinceladas SQL 2012, Alta Disponibilidad
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cleda
 
08 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 200908 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 2009
 
Cloud
CloudCloud
Cloud
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDC
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nube
 
Almacenamiento en la nube
Almacenamiento en la nubeAlmacenamiento en la nube
Almacenamiento en la nube
 
Aplicación y Alcances de la Virtualización
Aplicación y Alcances de la VirtualizaciónAplicación y Alcances de la Virtualización
Aplicación y Alcances de la Virtualización
 
Fnavarrete s2 1
Fnavarrete s2 1Fnavarrete s2 1
Fnavarrete s2 1
 
Capitulo 9_branch cache
Capitulo 9_branch cacheCapitulo 9_branch cache
Capitulo 9_branch cache
 
ITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMwareITRANSER Soluciones Bundle HP VMware
ITRANSER Soluciones Bundle HP VMware
 
Blue Coat Internet Gateway
Blue Coat Internet GatewayBlue Coat Internet Gateway
Blue Coat Internet Gateway
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (19)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Windows Server AppFabric Caching

  • 1. 1
  • 2. Usando “Windows Server AppFabric Caching” en escenarios de alta disponibilidad Mariano Omar Rodriguez Arquitecto Tellago Inc. 2
  • 3. Arquitectura típica Web sites lentos Usuarios Load Balancer Sticky Routing Donde esta el carrito Aplicación / Capa Web Aplicación Aplicación Aplicación ASP.NET App Carrito en Servidores Session en Base de comienzan a memoria Datos sobrecargada fallar Capa de Base de Datos Datos Catálogos en la Base de Datos 3
  • 4. Objetivos de la sesión El problema Cacheando con Windows Server AppFabric Overview Desarrollo 4
  • 5. ¿Que es AppFabric Caching? Es un cache explicito, distribuido y en memoria para aplicaciones y cualquier tipo de dato. Objetos CLR, XML, Datos Binarios, etc. La memoria es distribuida entre múltiples servidores. 5
  • 6. ¿Que es AppFabric Caching? Los clientes del cache acceden a través del cliente Los clientes acceden al cache Vista unificada del cache como si fuera único La capa de cache distribuye los datos a través de diferentes nodos 6
  • 7. ¿En que capa va? Usuarios Aplicación Aplicación … Aplicación Capa Web (ASP.NET) Capa de acceso al Capa de acceso al Capa de acceso al Cache Cache Cache Capa de Capa de Database Cloud Cache Datos Caching Service Caching Service Caching Service 7
  • 8. ¿Por que usarlo? Comparte datos a través de diferentes aplicaciones. No hay necesidad de ruteo “Pegajoso”. Performance Escalabilidad horizontal (Scale-out) Disponibilidad 8
  • 9. Deployment Usuarios Copiar assemblies cliente y agregar app.config <hosts> … <host name="BL1CDB8083714“ Aplicación Aplicatión Aplicatión cachePort="22233" Caching Access Layer Caching Access Layer Caching Access Layer cacheHostName="DistributedCacheService"/> ….. </hosts> <localCache isEnabled=“true" ../> <security … /> Web Tier Caching Service Caching Service Caching Service Habilitar el rol de servidor de Cache Tier cache Configuración (Base de datos, file system share, etc.) Almacena políticas del cache 9 Almacena información de particionamiento
  • 10. Seguridad Seguridad basada en el dominio Basada en cuentas locales o de dominio Solo servidores autorizados pueden unirse al cluster Solo clientes autorizados pueden conectarse al cluster grant-cacheallowedclientaccount domainmachine$ grant-cacheallowedclientaccount domainusername Seguridad a nivel transporte Firma y encriptación de mensajes 10
  • 11. Administración y monitoreo Administración centralizada a través de PowerShell Perfmon para monitorear el cache Logging Soporta EWT 11
  • 12. Caching API var factory = new DataCacheFactory(); var cache = factory.GetCache(“Catalog”); cache.Put(“data-1”, new Data(“Some Data”)); var data = (Data)cache.Get(“Data-1”); cache.CreateRegion(“Region”); cache.Put(“data-1”, new Data(“Some Data”), “Region”); var data = (Data)cache.Get(“Data-1”, “Region”); 12
  • 13. Caching API – Jerarquia lógica 1. Server 2. Cache host 3. Cache 4. Region, 5. Items 6. Instancias Host Item Dirección fisica de la instancia Clave, Contenido, Tags, TTL, Ti Caches (nombre) mestamp y Version Pueden residir en varios Regiones servidores. Contenedor de items Definidos en la configuración. Creados implicita o explicitamente 13
  • 14. Caching API - Tagging Permite agregar tags a los items var tag = new Tag(“Tag”); cache.Put(“Data-101", new Data(“Data1"), new[]{ tag }, “region”); cache.Put(“Data-102", new Data(“Data2"), “Region”); // From the same or a different client var objects = cache.GetAnyMatchingTag(“Region“, tag);
  • 16. Patrón – Cache Aside var data = cache.Get(“Data-1”) as Data; Application Caching Access Layer if (data == null) { data = ReadFromDB(); Caching Service cache.Put(“Data1”, data); } Database 16
  • 17. Distribución de datos Cache particionado Escalar en memoria: mas máquinas, mas memoria para el cache. Escalar en throughput: mas máquinas, claves mas distribuidas, mejor throughput.
  • 18. Usando las „Features‟ Clasificar los datos Referencia Actividad Recursos Examinar requerimientos Performance (Latencia y Throughput) Consistencia Remoción (¿Son los datos eliminables?) Seguridad Disponibilidad
  • 19. Tipos de dato Referencia No se actualizan frecuentemente Compartidos Actividad Lectura y escritura No compartidos Ej: Shopping Cart Recursos Lectura y Escritura Compartidos
  • 20. Datos de Referencia - performace El catálogo no cambia o cambia rara vez El costo de acceder a diferentes máquinas es inecesario Solucion: Cache local Application Application Get(K2) Get(K2) Put(K2, v3) AppFabric Caching Client AppFabric Caching Client Local Cache K2, V2 Routing Table Routing Table Cache1 Cache2 Cache3 Primary for K1,V1 Primary for K2,V2 Primary for K3,V3 K1, V1 K2, V2 V3 K3, V3
  • 21. Datos de Actividad - Disponibilidad Application (K2, V2) Application PUT Get(K2) AppFabric Caching Client Routing Table AppFabric Caching Client Routing Table Cache1 Cache2 Cache3 Primary for Primary for Primary for K2, V2 Replication K1, V1 Agent K3, V3 K2, V2 Secondary for Secondary for Secondary for K2, V2 K3, V3 K1, V1
  • 22. Datos de Recurso Bloqueo optimista Usando GetCacheItem se obtiene la version Cada actulización incrementa la version Cuando se llama a Put/Remove se debe suministrar la versión.
  • 23. Datos de Recurso Bloqueo pesimista Cliente1: Cliente2: Cliente3: GetAndLock ("k1") GetAndLock ("k1") Get ("k1") GetAndLock obtiene bloqueo GetAndLock en el Get común mismo item falla K1
  • 24. Demo Bloqueo Optimista Bloqueo Pesimista
  • 25. Notificación de datos Notificaciones Registran en cualquier cliente para notificar cambios cache.AddCacheLevelCallback(DataCacheOperations filter, DataCacheNotificationCallback callback); cache.AddRegionLevelCallback(string region, DataCacheOperations filter, DataCacheNotificationCallback callback); cache.AddItemLevelCallback(string key, DataCacheOperations filter, DataCacheNotificationCallback callback);
  • 26. Notificación de datos Registra Notificación para Key “K3" llama Delegate Application Mapea Keys Store Last LSN a Particion (ej: AppFabric Caching Client P2) Routing Table Poll Required Partition: P2 Nodes Last LSN: 19 Nodes Return List of Changes LSN Order Cache1 Cache2 Cache3 Primary for Primary for Primary for Change Log Change Log K1, V1 Change Log K2, V2 (Partition P2) K3, V3 Partition P1 33 Add K1 1 Add K2 18 Del K32 34 Del K22 2 Del K32 19 Del K43
  • 28. Integración con ASP.NET Integración con output-cache Integración con Session
  • 30. Recursos adicionales Home AppFabric http://msdn.microsoft.com/appfabric ASP.NET 4 Providers for AppFabric Caching http://aspnet.codeplex.com/releases/view/46576?Projec tName=aspnet AppFabric Caching Features http://msdn.microsoft.com/en-us/library/ff383731.aspx Admin Tool http://mdcadmintool.codeplex.com/ 30
  • 32. Participá del DEMOFEST Los mejores proyectos de las células Microsoft, los grupos de investigación de estudiantes, son seleccionados para participar en el espacio del DEMOFEST. ¡Conocélos! 32
  • 33. Necesitamos tu Feedback! Completá los FORM de avaluación que estarán en nuestra WEB: www.codecamp.com.ar Necesitamos de tu feedback para mejorar. 33
  • 34. © 2008 Microsoft Corporation. Todos los derechos reservados. Microsoft, Windows, Windows Vista y otros nombres de producto son y pueden ser marcas registradas y registros en Estados Unidos y en otros países. La información contenida en el presente es sólo para fines informativos y representa la visión actual de Microsoft Corporation a la fecha de esta presentación. Debido a que Microsoft debe responder a las cambiantes condiciones del mercado, no se debe interpretar como un compromiso por parte de Microsoft, y Microsoft no puede garantizar la precisión de ninguna información provista después de la fecha de esta presentación. MICROSOFT NO OFRECE GARANTÍA ALGUNA, EXPRESA, IMPLÍCITA O DE LEY, RESPECTO A LA INFORMACIÓN EN ESTA PRESENTACIÓN. 34