8 Operação e manutenção-ubuntu16.04.6xenial-ambiente básico construção-docker redis integrado

1 Breve descrição do redis

1.1 Tipos de dados suportados

O Redis oferece suporte a cinco tipos de dados: string (string), hash (hash), lista (lista), conjunto (coleção) e zset (conjunto classificado: conjunto ordenado).
Endereço de referência: https://www.runoob.com/redis/redis-data-types.html

1.2 Redis tem solução de alta disponibilidade

Insira a descrição da imagem aqui
Ponto único de falha: altamente disponível, pelo menos, 3 nós, incluindo 1 mestre e 2 escravos. Quando o nó mestre para o serviço, um de todos os nós escravos será selecionado como o nó mestre. Quando o nó mestre não para o serviço, mas o status de monitoramento não responde devido a problemas de rede, o padrão é interrompido. Ao servir, haverá dois hosts, e haverá duas fontes de dados ao copiar dados do nó, causando problemas de sincronização de dados.
Insira a descrição da imagem aqui
Solução: o Redis recomenda usar o modo sentinela para realizar a recuperação automática monitorando o mestre e o escravo. Quando o nó mestre parar o serviço, ele será rebaixado para o nó escravo. Quando o monitoramento e o serviço do nó mestre offline iniciar, o nó mestre offline entrará na fila automaticamente para o upgrade.

2 Construa um cluster redis

2.1 Definir o arquivo de inicialização do redis

  • O método de inicialização é: docker-compose up -d
  • O diretório do arquivo é: / usr / local / docker / redis /
  • O nome do arquivo é: docker-compose.yml
  • O conteúdo do arquivo é:
version: '3'
services:
    master:
       restart: always
       container_name: redis-master
       image: redis
       ports:
         - 6379:6379
    slave1:
       restart: always
       container_name: redis-slave-1
       image: redis
       ports:
         - 6380:6379
       command: redis-server --slaveof redis-master 6379
    slave2:
       restart: always
       container_name: redis-slave-2
       image: redis
       ports:
         - 6381:6379
       command: redis-server --slaveof redis-master 6379

2.2 Definir o arquivo de configuração do sentinela

  • O diretório do arquivo é: / usr / local / docker / redis / sentinel /
  • O nome do arquivo é:sentinel1.conf、sentinel2.conf、sentinel3.conf
  • O conteúdo do arquivo é: o conteúdo dos 3 arquivos é o mesmo
port 26379
dir /tmp
#自定义集群名,ip为主节点的ip,2为最小投票数
sentinel monitor mymaster 192.168.30.148 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

2.3 Definir o arquivo de inicialização do Sentinel

  • O método de inicialização é: docker-compose up -d
  • O diretório do arquivo é: / usr / local / docker / redis / sentinel /
  • O nome do arquivo é: docker-compose.yml
  • O conteúdo do arquivo é:
version: '3'
services:
    sentinel1:
         image: redis
         container_name: sentinel1
         ports:
          - 26379:26379
         command: redis-sentinel /usr/local/etc/redis/sentinel.conf
         volumes:
          - ./sentinel1.conf:/usr/local/etc/redis/sentinel.conf
    sentinel2:
         image: redis
         container_name: sentinel2
         ports:
          - 26380:26379
         command: redis-sentinel /usr/local/etc/redis/sentinel.conf
         volumes:
          - ./sentinel2.conf:/usr/local/etc/redis/sentinel.conf
    sentinel3:
         image: redis
         container_name: sentinel3
         ports:
          - 26381:26379
         command: redis-sentinel /usr/local/etc/redis/sentinel.conf
         volumes:
          - ./sentinel3.conf:/usr/local/etc/redis/sentinel.conf

2.4 Se a verificação foi bem sucedida

2.4.1 Verifique se o redis foi iniciado com sucesso

Por meio da ferramenta redis desktop manager, digite o ip e a porta e verifique a conexão

2.4.2 Verifique se o sentinela foi iniciado com sucesso

Verificação de comando:

docker exec -it sentinel1 bash #进入容器
redis-cli -p 26379 #连接redis
sentinel master mymaster #查看监控节点信息

3 Use o serviço redis

Acho que você gosta

Origin blog.csdn.net/weixin_45544465/article/details/100334810
Recomendado
Clasificación