En esta página, se explican varios casos de error y se proporcionan instrucciones para resolverlos.
Situaciones de replicación
En esta sección, se explican los problemas de replicación que pueden ocurrir con tu clúster.
¿Cómo supervisas los retrasos de replicación?
Memorystore para Redis Cluster tiene la métrica /cluster/replication/maximum_offset_diff. Esta métrica supervisa la diferencia máxima de compensación de replicación (en bytes) para un nodo en un clúster principal.
Si mantienes baja la diferencia de compensación de replicación, las réplicas pueden realizar operaciones de sincronización incremental con mayor frecuencia y a un costo menor que las operaciones de sincronización completa.
Te recomendamos que establezcas un umbral para la métrica maximum_offset_diff. Si se supera el umbral, Memorystore para Redis Cluster puede notificarte con una alerta.
Según el tipo de nodo de tu clúster, te recomendamos que establezcas el umbral de la siguiente manera:
Si el tipo de nodo es
redis-shared-core-nano,redis-standard-small,redis-highmem-medium,redis-highcpu-mediumoredis-standard-large, establece el umbral en menos de 64 MB.Si el tipo de nodo es
redis-highmem-xlargeoredis-highmem-2xlarge, establece el umbral en menos de 1 GB.
Situaciones de error de conectividad
En esta sección, se explican los problemas de conectividad que puede tener tu clúster.
Error de conexión causado por reglas de firewall
Las reglas de firewall pueden causar errores de conexión si bloquean los puertos que usa Memorystore para Redis Cluster. Para ambos extremos de Private Service Connect de tu clúster, permite los puertos TCP del 11000 al 13047. Para obtener más información sobre estos extremos, consulta Direcciones de red reservadas.
Error de conexión causado por políticas de la organización
Es posible que tengas una política de la organización que bloquee tus conexiones de Private Service Connect a tu clúster.
Si tu política de la organización usa la política .restrictPrivateServiceConnectProducer, permite la carpeta 961333125034, que es una carpeta específicamente para Memorystore para Redis Cluster. Por ejemplo:
name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
spec:
rules:
- values:
allowedValues:
- under:folders/961333125034
Si tu política de la organización usa la política .disablePrivateServiceConnectCreationForConsumers, permite SERVICE_PRODUCERS. Por ejemplo:
name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers
spec:
rules:
- values:
allowedValues:
- SERVICE_PRODUCERS
Error de conexión causado por conexiones que no responden
Te recomendamos que configures tu aplicación cliente para detectar conexiones que no responden a Memorystore para Redis Cluster. Cuando se detecta una conexión que no responde, el cliente debe restablecerla. Para compilar una aplicación resistente, te recomendamos las siguientes configuraciones de cliente:
- Configura los parámetros de keep-alive de TCP: establece los parámetros
TCP keepalive time,TCP keepalive intervalyTCP keepalive probespara que los clientes detecten y descarten de forma proactiva las conexiones que no responden, incluso cuando las conexiones están inactivas. Por ejemplo, si estableces el parámetroTCP keepalive timeen 30 segundos,TCP keepalive intervalen 10 segundos yTCP keepalive probesen 3, los clientes restablecen las conexiones inactivas que no responden en un minuto. - Configura los tiempos de espera del usuario de TCP: Establece este tiempo de espera en tus clientes para restablecer las conexiones que tienen solicitudes pendientes y dejan de responder. Por ejemplo, si estableces el tiempo de espera en 15 segundos, los clientes restablecen las conexiones que no responden y que tienen solicitudes pendientes después de 15 segundos.
Situaciones de uso de CPU
En esta sección, se explican los problemas de uso de CPU que puede tener tu clúster.
El búfer de salida de tu clúster se queda sin espacio
Si el búfer de salida de tu clúster se queda sin espacio, haz lo siguiente:
- Establece un valor más pequeño para el
maxmemoryparámetro. - Usa la
allkeys-lrumaxmemorypolítica.
Cuando la memoria de tu clúster está llena y llega una escritura nueva, Memorystore para Redis Cluster expulsa las claves para dejar espacio para la escritura, según la política maxmemory de tu clúster. La política allkeys-lru expulsa las claves que se usaron menos recientemente (LRU) del conjunto de claves completo.
Te recomendamos que supervises la maxmemory de tu clúster y la memoria usada. Esto te ayuda a saber si tu clúster alcanza la capacidad de clúster aprovisionada.
Además, si reduces el valor del parámetro maxmemory, obtendrás más espacio para la sobrecarga.
¿Por qué podrían faltar métricas externas para tu clúster?
Si tu clúster experimenta un uso de CPU alto o si se agotan los recursos del clúster (por ejemplo, si tiene demasiadas conexiones), es posible que el clúster no funcione correctamente y que falten métricas externas.
Situaciones de persistencia
En esta sección, se explican los problemas de persistencia que pueden ocurrir con tu clúster.
Tu tráfico de escritura supera la capacidad de Memorystore para Redis Cluster para compactar y recuperar espacio a través de la reescritura de AOF
Si se produce esta situación, el archivo de solo anexos (AOF) crece más rápido de lo que puede administrar el proceso de reescritura. Esto provoca el agotamiento del disco, causa fallas de escritura y bloquea las operaciones que requieren la creación de réplicas y la sincronización completa.
Memorystore para Redis Cluster implementó barreras de protección para regular el rendimiento de escritura. Esto garantiza que la reescritura de AOF pueda mantener el ritmo de las cargas de trabajo de escritura alta sostenida.