BT

A sua opinião é importante! Por favor preencha a pesquisa do InfoQ!

Amazon ElastiCache: cache distribuído e escalável no AWS

| por Rafael Nunes Seguir 0 Seguidores em 23 ago 2011. Tempo estimado de leitura: 2 minutos |

Para melhorar a experiência das pessoas que acessam o InfoQ Brasil, nós criamos uma série de funcionalidades que te permitem ficar pode dentro das últimas tendências e das novidades de seu interesse, sem que você seja incomodado por coisas irrelevantes. Receba e-mails periódicos e notificações sobre seus tópicos favoritos!

Foi anunciado hoje mais um serviço dentro da plataforma de cloud computing da Amazon também conhecido por AWS. O serviço ElastiCache provê uma uma forma robusta e escalável de adicionar caches distribuídos em aplicações na nuvem.

No desenvolvimento de aplicações web, é comum reduzir o processamento e o acesso do banco de dados, direcionando para algum cache em memória, eliminando a carga adicional imposta por operações de acesso ao banco de dados (abrir conexão, enviar instruções, receber resultados etc.). 

Lembrando que o cache em memória, que usa geralmente uma estrutura de armazenamento chave-valor, funciona como um repositório de dados de acesso muito mais rápido que um banco de dados relacional. Em uma aplicação web convencional, a lógica de acesso a dados poderia ficar desta forma:
1 - A aplicação verifica se determinada informação está armazenada no cache
2 - Caso o cache não possua tal entrada, é feita uma busca no banco de dados e posteriormente populado o cache com o retorno do banco de dados
3 - Em um próximo acesso, a aplicação retorna a informação anterior diretamente do cache, sem a necessidade de uma busca no banco de dados.
4 - O tempo que será armazenada uma determinada informação, ou a quantidade armazenada, devem ser implementados utilizando algum algoritmo de cache de acordo com o contexto da aplicação. (Outras técnicas para invalidação de cache, ou de sincronismo com as informações com o banco de dados podem ser utilizadas em processos em paralelo.)

O Amazon ElastiCache implementa um dos sistemas de cache mais utilizados, o Memcached. Com ele, é possível criar clusters de caches, para que sejam replicáveis entre os diversos servidores da Amazon, além de criar nós com tamanhos variáveis, de até 68 Gigabytes que representam sua estrutura de cache. A lógica de acesso no AWS poderia ficar como a seguir:
1 - A aplicação verifica se determinada informação está armazenada em um nó específico do cache dentro de um cluster
2 - Caso o cache não possua tal entrada, é feita uma busca no banco de dados e posteriormente populado os nós do cache nas diferentes localidades da Amazon, com o dados obtidos do banco de dados. A replicação entre os diferentes nós pode ser feita de forma assíncrona com os serviços Simple Notification Service ou Simple Queue Service.

Aqui, a detecção de falhas e a recuperação dos nós são feitas de forma automática. E é possível aumentar ou diminuir a quantidade de nós do cache automaticamente, conforme a necessidade da aplicação. Pode-se ainda restringir acesso aos clusters de cache através de um firewall, além de fazer o monitoramento detalhado de métricas, como memória e processamento utilizados, número de acessos ao cache, elementos não encontrados ou adicionados, e o número de conexões – usando a ferramenta CloudWatch.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT