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. |
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.
https://github.com/MSOpenTech/redis/releases
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.
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:
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 |
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" |
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 "" |
Pra que o Redis grave um arquivo com o PID, sete o seguinte parâmetro:
daemonize yes |
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. |
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.
O nó Master não necessita de nenhuma configuração adicional além das configurações dos passos anteriores.
Adicione a seguinte configuração em cada nó Slave: slaveof <masterIP> <masterPort>
slaveof 127.0.0.1 6379 |
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. |
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 |
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. |