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.
- Formato: imagen docker
- Despliegue:
servidor de administraciónyservidores 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
- Cuando una replica toma el lugar de su master, se convierte en master hasta fallar. En ese caso, la instancia
redis-replicaserá 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:
- Redis Insight
- 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
