8 Operación y mantenimiento-ubuntu16.04.6xenial-entorno básico construcción-docker integrado redis

1 Breve descripción de redis

1.1 Tipos de datos admitidos

Redis admite cinco tipos de datos: cadena (cadena), hash (hash), lista (lista), conjunto (colección) y zset (conjunto ordenado: conjunto ordenado).
Dirección de referencia: https://www.runoob.com/redis/redis-data-types.html

1.2 Solución de alta disponibilidad Redis ha

Inserte la descripción de la imagen aquí
Punto único de falla: Al menos 3 nodos altamente disponibles, incluidos 1 maestro y 2 esclavos. Cuando el nodo maestro detiene el servicio, uno de todos los nodos esclavos se seleccionará como nodo maestro. Cuando el nodo maestro no detiene el servicio, pero el estado de monitoreo no responde debido a problemas de red, el valor predeterminado es detenido. Al servir, habrá dos hosts y habrá dos fuentes de datos al copiar datos del nodo, lo que provocará problemas de sincronización de datos.
Inserte la descripción de la imagen aquí
Solución: Redis recomienda usar el modo centinela para realizar la recuperación automática al monitorear el maestro y el esclavo. Cuando el nodo maestro detiene el servicio, se degradará al nodo esclavo. Cuando se inicie el monitoreo y el servicio del nodo maestro fuera de línea, el nodo maestro fuera de línea automáticamente hará cola para la actualización.

2 Cree un clúster de redis

2.1 Establecer el archivo de inicio de redis

  • El método de inicio es: docker-compose up -d
  • El directorio de archivos es: / usr / local / docker / redis /
  • El nombre del archivo es: docker-compose.yml
  • El contenido del archivo es:
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 Establecer el archivo de configuración de Sentinel

  • El directorio de archivos es: / usr / local / docker / redis / sentinel /
  • El nombre del archivo es:sentinel1.conf、sentinel2.conf、sentinel3.conf
  • El contenido del archivo es: el contenido de los 3 archivos es el mismo
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 Establecer el archivo de inicio de Sentinel

  • El método de inicio es: docker-compose up -d
  • El directorio de archivos es: / usr / local / docker / redis / sentinel /
  • El nombre del archivo es: docker-compose.yml
  • El contenido del archivo es:
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 Si la verificación es exitosa

2.4.1 Verifique que redis se haya iniciado correctamente

A través de la herramienta de administrador de escritorio redis, ingrese la ip y el puerto, y verifique la conexión

2.4.2 Verificar que Sentinel se inició correctamente

Verificación de comandos:

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

3 Utilice el servicio redis

Supongo que te gusta

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