Esta página foi revisada para considerar as novas configurações de server do fluig para a atualização 1.5.6.

Caso possua uma atualização anterior do fluig acesse: ARQ 015 - Configuração do fluig Cache com Redis.

Índice

 

Sobre o Redis

O Redis é um banco de dados NoSQL open-source do modelo chave-valor em memória, que possui licenciamento BSD e que pode ser utilizado como cache para o fluig. Ele possui funcionalidades extras, como a possibilidade de ser utilizado em cluster com fail-over.

Site oficial: http://redis.io

© Redis, and the Redis logo are the trademarks of Salvatore Sanfilippo in the U.S. and other countries.


Download do Redis

Download do instalador para Linux

http://redis.io/download

Download do instalador para Windows

https://github.com/MSOpenTech/redis/releases 

 

Instalação do Redis em modo single-server

O Redis em modo single-server é quando apenas um processo do Redis está no ar. Mesmo neste modo, ele pode atender mais de um servidor fluig, mas será considerado um ponto de falha.

 

Instalação do Redis como serviço em Linux

Link original: http://redis.io/topics/quickstart#installing-redis-more-properly

A forma sugerida de instalar o Redis em Linux é compilá-lo a partir dos fontes, pois não há outras dependências além do que um compilador GCC e da biblioteca libc.

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
make install

Vamos supor que você já copiou os executáveis redis-server e redis-cli em /usr/local/bin, ou executou o comando make install

Crie os seguintes diretórios:

sudo mkdir /etc/redis
sudo mkdir /var/redis

Copie o script de inicialização disponibilizado no diretório utils para /etc/init.d. Sugerimos renomeá-lo com o nome da porta onde você está executando esta instância do Redis.

sudo cp utils/redis_init_script /etc/init.d/redis_6379

Edite o script de inicialização. Certifique-se de modificar REDISPORT de acordo com a porta que você está usando. Tanto o caminho do arquivo pid e o nome do arquivo de configuração dependem do número de porta

sudo vi /etc/init.d/redis_6379

Copie o arquivo de configuração do modelo que você vai encontrar no diretório raiz da distribuição Redis em /etc/redis/ utilizando o número da porta como nome:

sudo cp redis.conf /etc/redis/6379.conf

Crie um diretório dentro de /var/redis que funcionará como os dados e diretório de trabalho para esta instância Redis:

sudo mkdir /var/redis/6379

Edite o arquivo de configuração:

 

Instalação do Redis como serviço em Windows

Link original: https://raw.githubusercontent.com/MSOpenTech/redis/3.0/Windows Service Documentation.md

Execute o seguinte comando:

redis-server.exe --service-install --service-name fluigcache redis.windows.conf

Configurando o Redis para uso com o fluig

Memória

Procure no arquivo de configuração, o parâmetro maxmemory e certifique-se de configurar para o tamanho máximo desejado, caso contrário, podem ocorrer problemas de falta de memória.

maxmemory 1g

Se estiveres usando a versão 2.8 do redis em windows, configure também o parâmetro "maxheap"

 

Persistência

Para que o Redis não salve um snapshot da memória de tempos em tempos, procure as linhas iniciadas com a palavra "save" no arquivo de configuração:

save 900 1
save 300 10
save 60 10000

E altere para:

# save 900 1
# save 300 10
# save 60 10000
save ""

 

Arquivo PID

Pra que o Redis grave um arquivo com o PID, sete o seguinte parâmetro:

daemonize yes

 

Configurando o fluig para usar o Redis como cache

Abra o arquivo configuration.properties, localizado em <Diretório de Instalação>\repository\wcmdir\config e modifique a propriedade cacheServerAddress para "redis:<ip>:[porta]", ou use a propriedade via API cache_server_Adress, ou via configuração no Painel de controle > aba WCM, tela Configurações do Sistema e aba Parâmetros da Plataforma, caso o fluig já esteja no ar.

wcm/cacheServerAddress=redis:127.0.0.1

Essa configuração pode ser setada durante a execução do instalador do fluig.

 

Configurando o Redis com Cluster e Fail-Over

O Redis usa o modelo Master-Slave com um processo monitor chamado Sentinel

Os passos indicados anteriormente continuam valendo para cada nó do cluster Redis.

 

Master

O nó Master não necessita de nenhuma configuração adicional além das configurações dos passos anteriores.

 

Slaves

Adicione a seguinte configuração em cada nó Slave: slaveof <masterIP> <masterPort>

slaveof 127.0.0.1 6379

 

Sentinel

O Sentinel oferece um modelo simples e automático de alta disponibilidade (HA) para Redis usando a estratégia de eleição caso o Master venha a falhar. Inicialmente, tem-se uma replicação do Master para N números de Slaves.

Um processo Sentinel deve ser adicionado em cada um dos servidores que terão uma ou mais instâncias do Redis para monitorar a execução dos processos e iniciar uma eleição para promover um Slave para Master caso o Master falhe.

Para isso:

Exemplo:

daemonize yes
sentinel monitor fluigcache 127.0.0.1 6379 1
sentinel down-after-milliseconds fluigcache 10000

 Durante uma execução em cluster, o Sentinel modifica os arquivos de configuração, portanto eles devem ter a permissão de escrita. 

 

Instalando o Sentinel como serviço no Windows

O executável do Sentinel é o mesmo do Servidor do Redis, com a diferença de receber o parâmetro --sentinel

redis-server.exe --service-install --service-name redissentinel redis.sentinel.conf --sentinel

 

Configurando o fluig para usar o Redis Cluster com Sentinel como cache

Abra o arquivo configuration.properties, localizado em <Diretório de Instalação>\repository\wcmdir\config e modifique a propriedade cacheServerAddress, ou use a propriedade via API cache_server_adress. O formato da configuração é "redisc:<nome do cluster>:<ip do Sentinel>:<porta do Sentinel>,<ip do Sentinel2>:<porta do Sentinel2>,...".

Também possível alterar esta configuração no Painel de controle > aba WCM, tela Configurações do Sistema e aba Parâmetros da Plataforma, caso o fluig já esteja no ar.

wcm/cacheServerAddress=redisc:fluigcache:127.0.0.1:26379

Essa configuração pode ser setada durante a execução do instalador do fluig.