As informações desta página são válidas para as atualizações 1.6.2 e inferiores.

Mantenha sua plataforma atualizada! À partir da atualização Snowflake (1.6.3), o controle e sincronização do cache do fluig é realizado através do banco de dados que, além de já ter uma conexão direta com o fluig em casos de instalações simples, também é compartilhado entre todos os nós (cluster) em casos de balanceamento de carga e alta disponibilidade.

Caso possua uma atualização 1.5.5 ou inferior do fluig acesse: Como configuro o 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 pode ser utilizado como cache para o fluig. Ele possui funcionalidades extras como a possibilidade de ser utilizado em cluster com tolerância a falhas (failover).

Site oficial: http://redis.io

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

Pré requisito


Download do Redis


Instalação do Redis em Modo Single-Server

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

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

Verifique também a documentação oficial.

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 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 o REDISPORT de acordo com a porta que você está usando. Tanto o caminho do arquivo pid quanto o nome do arquivo de configuração dependem do número da porta.

sudo vi /etc/init.d/redis_6379

Copie o arquivo de configuração modelo encontrado 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

Verifique também a documentação oficial.

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 estiver sendo utilizada a versão 2.8 do Redis com o Windows, configure também o parâmetro maxheap.


Persistência

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

save 900 1
save 300 10
save 60 10000

...e altere-as para:

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


Arquivo PID

Para que o Redis grave um arquivo com o PID, defina o seguinte parâmetro:

daemonize yes


Configurando o fluig para usar o Redis como Cache

A configuração do servidor Redis no fluig pode ser realizada das seguintes formas:

wcm/cacheServerAddress=redis:127.0.0.1

Essa configuração também pode ser realizada durante a execução do instalador do fluig.


Configurando o Redis em Ambientes de Alta Disponibilidade com Tolerância a Falhas

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 (redis.conf) em cada nó Slave:

slaveof <IP_MASTER> <PORTA_MASTER>

Exemplo:

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 um número indeterminado 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:

Template:

daemonize yes
sentinel monitor NOME_DO_CLUSTER IP_MASTER PORTA_MASTER QUORUM
sentinel down-after-milliseconds NOME_DO_CLUSTER 10000

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 permissão de escrita. 


Instalando o Sentinel como serviço no Windows

O executável do Sentinel é o mesmo do servidor do Redis, exceto pelo parâmetro "--sentinel".

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


Executar o Redis Sentinel em Servidor Linux

A partir da versão 3 o redis-sentinel é instalado por padrão junto do Redis. Para executar o Sentinel:

redis-sentinel /etc/redis/sentinel.conf

Sendo que /etc/redis/sentinel.conf é o arquivo de configuração padrão.


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

A configuração do Redis com o fluig foi depreciada a partir da versão 1.6.2 da plataforma. Caso possua uma atualização superior à essa acesse: Configurações da plataforma. Ou se possuir uma atualização inferior à essas acesse: Como posso ajustar as configurações da plataforma nas releases 1.5.13 e inferiores?

Abra o arquivo configuration.properties, localizado em [Instalação fluig]\repository\wcmdir\config e modifique a propriedade cacheServerAddress, ou use a propriedade via API CACHE_SERVER_ADDRESS. O formato da configuração é "redisc:[nome_cluster]:[IP_Sentinel]:[Porta_Sentinel],[IP_Sentinel_2]:[Porta_Sentinel_2], etc.".

wcm/cacheServerAddress=redisc:NOME_DO_CLUSTER:IP_SENTINEL:PORTAL_SENTINEL

Exemplo:

wcm/cacheServerAddress=redisc:fluigcache:127.0.0.1:26379

Também é possível realizar esta configuração via wcmadmin, caso o fluig já esteja no ar, através do Painel de controle → aba WCM → Configurações do Sistema → aba Parâmetros da Plataforma.

Essa configuração também pode ser realizada durante a execução do instalador do fluig.