189 lines
6.2 KiB
Markdown
189 lines
6.2 KiB
Markdown
|
|
---
|
|||
|
|
title: Configuração Redis para uso do Load balance Realtime
|
|||
|
|
source: https://tdn.totvs.com/pages/viewpage.action?pageId=555277701
|
|||
|
|
path: \Plataforma Documentação técnica\Configuração\Configuração de Ambiente\Configuração Redis para uso do Load balance Realtime.md
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
- 1 [Sobre o Redis](#ConfiguraçãoRedisparausodoLoadbalanceRealtime-SobreoRedis)
|
|||
|
|
- 2 [Pré requisito](#ConfiguraçãoRedisparausodoLoadbalanceRealtime-Prérequisito)
|
|||
|
|
- 3 [Download do Redis](#ConfiguraçãoRedisparausodoLoadbalanceRealtime-DownloaddoRedis)
|
|||
|
|
- 4 [Instalação do Redis em Modo Single-Server](#ConfiguraçãoRedisparausodoLoadbalanceRealtime-InstalaçãodoRedisemModoSingle-Server)
|
|||
|
|
- 4.1 [Instalação do Redis como Serviço em Linux](#ConfiguraçãoRedisparausodoLoadbalanceRealtime-InstalaçãodoRediscomoServiçoemLinux)
|
|||
|
|
- 4.2 [Instalação do Redis como Serviço em Windows](#ConfiguraçãoRedisparausodoLoadbalanceRealtime-InstalaçãodoRediscomoServiçoemWindows)
|
|||
|
|
- 5 [Configurando o Redis para uso com o Fluig](#ConfiguraçãoRedisparausodoLoadbalanceRealtime-ConfigurandooRedisparausocomoFluig)
|
|||
|
|
|
|||
|
|
# Sobre o Redis
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
O Redis é um banco de dados NoSQL *open source* do modelo chave-valor em memória, que possui [licenciamento BSD](http://redis.io/topics/license) e pode ser utilizado como *cache* para o TOTVS Fluig Plataforma. 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
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
- Ter o Redis instalado na máquina ou realizar o download do instalador nos links abaixo conforme o sistema operacional da máquina.
|
|||
|
|
|
|||
|
|
# Download do Redis
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
- O *download* do instalador do Redis para Linux pode ser realizado [neste link](http://redis.io/download).
|
|||
|
|
|
|||
|
|
- O *download* do instalador do Redis para Windows pode ser realizado [neste link](https://github.com/MSOpenTech/redis/releases).
|
|||
|
|
|
|||
|
|
# 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](https://redis.io/topics/quickstart).
|
|||
|
|
|
|||
|
|
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:
|
|||
|
|
|
|||
|
|
- Defina o pidfile para /var/run/redis\_6379.pid (modificar a porta se necessário).
|
|||
|
|
|
|||
|
|
- Altere a porta em conformidade. No nosso exemplo não é necessário, pois a porta padrão já é 6379.
|
|||
|
|
- Defina o seu loglevel preferido.
|
|||
|
|
- Defina o arquivo de log para /var/log/redis\_6379.log
|
|||
|
|
- Definir o dir para /var/redis/6379 (passo muito importante!)
|
|||
|
|
- Procurar pelo parâmetro **bind** onde deve estar: bind 127.0.0.1
|
|||
|
|
|
|||
|
|
Altere esta linha para o IP externo de acesso para as instâncias do RealTime, exemplo :
|
|||
|
|
|
|||
|
|
Caso o IP da máquina seja 192.168.0.19 fica:
|
|||
|
|
|
|||
|
|
bind 192.168.0.19 127.0.0.1
|
|||
|
|
|
|||
|
|
Configuração
|
|||
|
|
|
|||
|
|
Caso não seja feito o bind para acesso dos servidor externo (máquinas que possuem a instalação do RealTime) as instâncias do Realtime não irão funcionar.
|
|||
|
|
|
|||
|
|
Importante
|
|||
|
|
|
|||
|
|
No arquivo de configuração por padrão a proteção de acesso está ativa, como configuramos o bind direto para o IP, este parâmetro deve ser setado para no:
|
|||
|
|
|
|||
|
|
protected-mode no
|
|||
|
|
|
|||
|
|
Após feitas as alterações:
|
|||
|
|
|
|||
|
|
Para subir o Redis no Linux execute o comando abaixo:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
sudo /etc/init.d/redis_6379 start
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Após subir, verifique no arquivo de log se não ocorreu nenhum erro: /var/log/redis\_6379.log
|
|||
|
|
|
|||
|
|
Para parar o serviço, execute o comando:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
sudo /etc/init.d/redis_6379 stop
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Instalação do Redis como Serviço em Windows
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
Verifique também a [documentação oficial](https://raw.githubusercontent.com/MSOpenTech/redis/3.0/Windows%20Service%20Documentation.md).
|
|||
|
|
|
|||
|
|
Execute o seguinte comando:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
redis-server.exe --service-install --service-name fluigcache redis.windows.conf
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
# Configurando o Redis para uso com o Fluig
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Observação
|
|||
|
|
|
|||
|
|
Se estiver sendo utilizada a versão 2.8 do Redis com o Windows, configure também o parâmetro *maxheap*.
|
|||
|
|
|
|||
|
|
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:
|
|||
|
|
|
|||
|
|
**Exemplo do config padrão para Windows**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
save 900 1
|
|||
|
|
save 300 10
|
|||
|
|
save 60 10000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Altere-as para:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
# save 900 1
|
|||
|
|
# save 300 10
|
|||
|
|
# save 60 10000
|
|||
|
|
save ""
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Para que o Redis grave um arquivo com o PID, defina o seguinte parâmetro:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
daemonize yes
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Após efetuar as configurações para uso no servidor Fluig, é necessário parar e subir o serviço do Redis, para que sejam aplicadas as configurações.
|