Antes de falarmos de cachê de dados com AppFabric Caching, iremos entender o que é o AppFabric, seus recursos e ai sim o cachê de dados com o mesmo. O App Fabric fornece extensões para o Windows Server, com o objetivo de oferecer melhor infra-estrutura para aplicativos. O primeiro release do Windows Serve AppFabric, está dividido em duas partes:

AppFabric Caching Services: permite escalar sua camada de dados, por exemplo, provendo acesso a informações acessadas freqüentemente, atravéz de um mecanismo de cache distribuido.

AppFabric Host Services: permite rodar e gerenciar serviços criados com WCF( Windows Communication Foundation ) especialmente os que utilizam o Windows Workflow Foundation.

     Hoje estaremos falando sobre o AppFabric Caching Services. O AppFabric Caching, até então de codename velocity, permite que se crie um ambiente de cachê, ou seja, um cachê distribuído; com a finalidade de prover acesso rápido e fácil à informações que são constantemente acessadas ou até mesmo armazenar informações de sessão de aplicativos ASP.NET, acelerando desta forma o acesso aos dados.

 

Cachê Distribuído

     A função do AppFabric, é prover um cachê distribuído, ou seja, um cachê que não esteja centralizado em uma única máquina, mais que possa estar em várias máquinas. Desta forma a carga de soliticações de dados passa a estar distribuída, melhorando assim o desempenho.

     O AppFabric Cache conta com componentes como o Cache Client, que pode ser uma página ASP.NET por exemplo e o cluster de cache composto por um ou mais servidores, cada servdor roda uma instância do AppFabric Caching services e mantém alguns dados do cache. Há também a possibilidade do Cache client, manter um cachê local. Observe a figura abaixo:

 
    Veja que é transparente o processo. O cache client, acessa ao cluster de cache ele não tem nem a necessidade, de saber especificamente em que servidor está o dado, ele apenas pede ao cluste o dado e recebe. E reafirmando o que foi dito anteriormente, perceba que na figura acima, o cache client também pode ter um cache local.
 
Armazenamento de dados no cache
     O AppFabric Cache Services, permite que o armazenamento de qualquer objeto que seja serializável. Isto permite a flexibilidade de armazenar seus objetos de negócio, ou até mesmo, dados binário ou um arquivo XML. Você pode ainda configurar a expiração dos dados, atualizar a versão dos dados e ainda permite a exclusão de itens explicitamente.
AppFabric Caching Services e o ASP.NET
     Imagina você poder simplesmente passar a utilizar o AppFabric Caching em suas aplicações, e não precisar mudar absolutamente uma linha de código para isto? Séria ótimo!!. O AppFabrica Caching services, oferece um suporte embutido para isto, bastando apenas realizar uma configruação para a aplicação utilizar o cache cluster. Veja a figura abaixo:
 
 
    A figura acima, ilustra um cenário simples, em que um usuário fornece uma informação que será armazenada na sessão para este usuário, o servidor web uma vez configurado para utilizar o ApFabric caching, armazena o dado no cluster de cache e se o dado armazenado na sessão para o usuário for requisitado, o mesmo é obtido a partir do cluster de cache.
     O AppFabric Caching services é muito poderoso e te permite aumentar a performance de aplicações que tem um trafego de dados muito intenso, esta tecnologia vem somente para somar ao mercado, proporcionando uma maneira fácil e rápida de estabelecer um cache distribuido.
    Bom Pessoal espero que este artigo, tenha acrescentado em algo no aprendizado de vocês, e nos próximos artigos, não iremos ficar só na teoria não iremos aprender a instalar o AppFabric Cahing services e começar a colocar em prática os conceitos aprendidos aqui. Um forte abraço e até a próxima.