escalando aplicações com redis

Post on 05-Dec-2014

140 Views

Category:

Software

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Apresentação realizada no evento .Net Architects Day 2014.

TRANSCRIPT

Escalando Aplicações com Redis

Waldyr FelixConsultor Chefe na FCamaraBlog: waldyrfelix.netTwitter: @WaldyrFelix

NoSQL

Chave e valor

Memória

Disco

Replicação

Cache

Banco de Dados

Tipos de Dados

• Strings• Lists• Sets• Sorted sets• Hashes

Instalação

wget http://download.redis.io/releases/redis-2.8.14.tar.gz

tar xzf redis-2.8.14.tar.gz

cd redis-2.8.14

make

Baixar o Zip

Descompactar

No Linux

No Windows

Client e Server

• Executar o aplicativo e o servidor está no ar• Sintaxe simples • Economia de transações

Notação para chaves no Redis

• Armazenamento de objetos “indexados”> set “usuario:8372” “Waldyr Felix”

• Armazenamento de objetos complexos> set “usuario:3433:nome” “Waldyr Felix”> set “usuario:3433:email” “waldyr.felix@fcamara.com.br”

API C# para Redis

• StackExchange.Redis • ServiceStack.Redis NServiceKit

ServiceStack.Redis é Open mas não é FREE

NServiceKit.Redis

Cache -Aside Pattern

• Otimização de acessos repetidos a alguma informação• Armazenamento intermediário

mais rápido que o original• Deve ser transparente para a

aplicação• Uso de AOP minimiza o

impacto na implementação • Pode ser local ou distribuído.

Para saber mais:

Redis como Cache

• Interface ICacheClient• Usa o comando SETEX

> setex “usuario:3433:nome” 120 “Waldyr Felix”

> set “usuario:3433:nome” “Waldyr Felix”> expire “usuario:3433:nome” 120

Exemplo de Cache com Redis

• Redis• NServiceKit.Redis• Postsharp• Aplicação ~12x mais rápida

App

Cache Distribuído

• Acesso remoto• Suporte a replicação• Segurança integrada• Configuração simples

Cache

VM1

VM3

VM2

Amazon ElastiCache Redis

Amazon ElastiCache Redis

Os End Points da Amazon só podem ser acessados pelos próprios Data Centers, ou seja, para testar precisamos fazer um

deployment no AWS.

Azure Redis Cache (Preview)

Azure Redis Cache (Preview)

Os End Points de cache do Microsoft Azure podem ser acessados externamente usando chaves de acesso, da mesma forma que

acessamos Azure Storage.

top related