Skip to main content
Version: next

Redis

Componente externo

Componente usado para:

  • Gestión de valores secuenciales (rand, seq): Por ahora solamente para el QRId, para evitar valores repetidos y mantener un buen rendimiento. Esto incluye un esquema para que si se reinstala el Redis no se tengan problemas con la repetición del QRId.
  • Locks (lock): Ahora tenemos un mecanismo para evitar transacciones repetidas en el caso de que el usuario realice un llamado repetido a un endpoint por un error de las aplicaciones.
  • Cache (No visible): Almacenamiento de cache para algunos endpoints de la solución, para de esta manera mejorar la experiencia de los clientes de la Entidad Financiera. Por ahora se tiene activo el cache por 5 segundos solamente para la consulta de la interfaz vdbAccountHistory.
  • Black List (bl):
    • Device (dev): Cuando un cliente bloquea un dispositivo, ahora el bloqueo toma efecto inmediatamente y no se debe esperar, como antes, un nuevo Login.
    • JWT (jwt): Con Redis ahora tenemos un nuevo control para evitar que se pueda seguir usando un JWT de una sesión cerrada.
  • Estadísticas (stats): Para que la Entidad Financiera sepa a qué servicios acceden más sus clientes y con qué frecuencia.
  • Redlock (redlock): Para realizar el Leader Election de componentes de la solución por medio del algoritmo RedLock de Redis.

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

Página Principal

Al ingresar al sitio de Redis Insight, podremos visualizar la lista de bases de datos de Redis a las que estamos conectados. La única base de datos conectada al momento de levantar Redis Insight será local, que es la base de datos Redis del entorno en que nos encontramos.

component_redis_insight

Base de datos local

Al hacer click en local, podremos visualizar los datos que tenemos guardados en Redis.

component_redis_insight_database