Skip to main content
Version: next

Redis

Componente externo

Componente usado para:

  • Almacenamiento de cache para algunos endpoints de la solución y metadata de la cache, para de esta manera mejorar la experiencia de los clientes de la Entidad Financiera.
  • Mejor gestión de valores secuenciales, en particular el QRId, para evitar valores repetidos y mantener un buen rendimiento.
  • Valores aleatorios, en especial para ser utilizados con el QRId y evitar valores repetidos ante pérdidas de datos.
  • Gestión de dispositivos en lista negra. Los ID's de estos dispositivos son almacenados con metadatos, como ser cuándo fueron introducidos a la lista, o si están bloqueados o baneados.
  • Mejor manejo del logout para evitar que se pueda seguir usando un JWT de una sesión cerrada.
  • Estadísticas de usuarios, para que la Entidad Financiera sepa a qué servicios acceden más sus clientes y con qué frecuencia.
  • Crear Locks y evitar transacciones repetidas.
  • Leader election con algoritmo RedLock. Este algoritmo permitirá que solamente una instancia de un componente ejecute ciertas tareas, de acuerdo a qué instancia obtiene el RedLock necesario primero.

Este componente se despliega en modo cluster, donde el servidor de administración y todos los servidores de aplicaciones contienen dos nodos: un master y una réplica. La cantidad mínima de nodos para formar un cluster es de 6, donde 3 nodos son master y 3 nodos son réplicas. Cada réplica corresponde a un master. Cuando un nodo master falla un nodo replica tomará su lugar.

Características técnicas
  • Formato: imagen docker
  • Despliegue: servidor de administración y servidores de aplicaciones
  • Ubicación docker compose: /opt/viridian/redis/docker-compose.yml
  • Imagen docker base: redis:8.0.3-alpine
  • Puertos expuestos:
    • master: 6389,16389
    • replica: 6369,16369
En caso de falla de nodos
  • Cuando una replica toma el lugar de su master, se convierte en master hasta fallar. En ese caso, la instancia redis-replica será también un master. Sin embargo, se recomienda apagar la replica para forzar al anterior master a volver a su rol original, esto porque es riesgoso tener dos másters dentro de un mismo servidor.
  • Al iniciarse el clúster se decide de manera aleatoria qué replicas perteneceran a qué masters, por lo cual un master y su replica rara vez se encontrarán en el mismo servidor.

Redis Insight

Componente UI de Redis usado para ver e interactuar con la base de datos de redis. No tiene acceso a valores sensibles, como el cache, como los datos cache para mantener los datos de los clientes invisibles mediante esta herramienta. Se pueden ver los siguientes datos:

  • Secuenciales
  • Valores aleatorios
  • Dispositivos en lista negra y sus metadatos
  • JWT's en lista negra y sus metadatos
  • RedLocks
  • Locks
  • Estadísticas de Usuario

Existe un solo redis-insight y se encuentra en el servidor de administración. Se puede acceder a él por medio de los siguientes links:

Características técnicas
  • Formato: imagen docker
  • Despliegue: servidor de administración
  • Ubicación docker compose: /opt/viridian/redis/docker-compose.yml
  • Imagen docker base: redis/redisinsight:2.70.1
  • Puertos expuestos: 5540

component_redis_insight component_redis_insight_database