¿Cómo minimizo el tiempo de inactividad al escalar mi ElastiCache para Redis?
5 minutos de lectura
0
Quiero minimizar el tiempo de inactividad al escalar mi Amazon ElastiCache para Redis.
Resolución
Para ayudar a minimizar el tiempo de inactividad, revise estas acciones y compruebe los procedimientos de configuración y mantenimiento:
- Para minimizar el tiempo de inactividad durante la sincronización, evite escalar cuando tenga una carga de trabajo elevada. Si el clúster tiene una carga de trabajo elevada y el escalamiento lleva mucho tiempo, reduzca las solicitudes entrantes a Redis para evitar errores de sincronización. Si se produce la sincronización, compruebe la métrica SaveInProgress en Amazon CloudWatch para determinar cuándo se produjo la sincronización. Tenga en cuenta que la métrica SaveInProgress recopila datos cada minuto y es posible que no capture las sincronizaciones que hayan finalizado en menos de un minuto. Para obtener más información, consulte Monitoring best practices with Amazon ElastiCache for Redis using Amazon CloudWatch.
- Para identificar los problemas causados por una mala configuración del lado del cliente cuando se conecta al clúster, pruebe el descalamiento horizontal en un entorno que no sea de producción. Según el tipo de escalamiento, es posible que, durante el escalamiento, se añada un nodo, que se elimine o que la dirección IP del nodo cambie. ElastiCache para Redis proporciona diferentes tipos de puntos de enlace de conexión para conectarse al clúster, por lo que el tipo de punto de enlace de conexión elegido depende de los requisitos de la aplicación.
- Configure el código de cliente o aplicación de Redis para volver a intentar la consulta en otra réplica o para enviar una consulta al código de la aplicación principal. Si el cliente se conecta a una nueva réplica que está en proceso de sincronización, aparece el error LOADING: Redis is loading the dataset in memory. El tiempo que se tarda en cargar el conjunto de datos se basa en el tamaño de los datos y el rendimiento del nodo. Para determinar si se trata de un problema, pruébelo en un entorno que no sea de producción.
- Configure el clúster para que se escale automáticamente. El escalamiento automático evita los problemas de rendimiento causados por los aumentos repentinos de la carga de trabajo entrante. Para obtener más información, consulte Auto Scaling ElastiCache for Redis clusters.
En el caso de los clústeres de Redis que tengan el modo de clúster desactivado, revise estas acciones y compruebe los procedimientos de configuración y mantenimiento:
- Para el desescalamiento horizontal, si las aplicaciones solo utilizan un punto de enlace principal para conectarse, no se produce tiempo de inactividad cuando se elimina un nodo de réplica. Si las aplicaciones utilizan puntos de enlace del lector o individuales para conectarse a ese nodo de réplica, la conexión original se interrumpe. Cuando se interrumpe la conexión original, se debe establecer una nueva conexión TCP. Además, la aplicación tiene que llevar a cabo una búsqueda de DNS para evitar conectarse al nodo de réplica eliminado. Si el cliente usa puntos de enlace del lector, es posible que se produzca un tiempo de inactividad debido a la propagación del DNS de los puntos de enlace del lector.
- Para el escalamiento horizontal, asegúrese de llevarlo a cabo durante las horas en las que la carga de trabajo sea mínima para evitar que la sincronización provoque un tiempo de inactividad.
- En el caso de los cambios en el tipo de nodo, las cargas de trabajo pesadas pueden provocar un error en la sincronización. Además, es posible que la aplicación tenga que hacer una búsqueda de DNS en los puntos de enlace principales o del lector para establecer nuevas conexiones con el nuevo nodo. La propagación del DNS tarda unos segundos y es posible que se interrumpa el servicio antes de que el cliente llegue al nuevo nodo. En las versiones 5.0.5 o posteriores de Redis, se ha minimizado la interrupción. Se recomienda actualizar a la nueva versión de Redis para optimizar ElastiCache.
En el caso de los clústeres de Redis que tengan el modo de clúster activado, revise estas acciones y compruebe los procedimientos de configuración y mantenimiento:
- Para tener un tiempo de inactividad mínimo o nulo durante el escalamiento, consulte Redis cluster client discovery and exponential backoff.
- Para ayudar a minimizar el tiempo de inactividad al desescalar horizontalmente, consulte Online cluster resizing. Para minimizar los problemas de rendimiento, escale gradualmente. Asegúrese de comprobar el rendimiento del clúster durante las horas punta después de la ampliación inicial antes de seguir descalando horizontalmente.
- Para ayudar a minimizar el tiempo de inactividad al escalar horizontalmente, consulte Online cluster resizing.
- Las cargas de trabajo pesadas pueden provocar un error de sincronización cuando haya cambios en el tipo de nodo. Además, es posible que las direcciones IP de los nuevos nodos no sean las mismas que las de los nodos antiguos. Para determinar la dirección IP, la aplicación puede usar el comando cluster nodes, o cluster slots para obtener información actualizada del clúster. Los clientes de Redis que admitan clústeres de Redis pueden actualizar la topología del clúster. Para configurar el cliente de Redis, consulte la documentación de su tipo de cliente específico.
- Al cambiar el número de réplicas, asegúrese de comprobar primero el rendimiento de los nodos principales antes de añadir nodos de réplica adicionales. Cuando la cantidad de nodos de réplica disminuya y el cliente deba leer desde un nodo de réplica eliminado, las solicitudes se enviarán a los nuevos nodos de réplica. Además, para evitar las solicitudes a los nodos eliminados, el cliente debe actualizar la topología del clúster.
Información relacionada
Replication: Redis (Cluster Mode Disabled) vs. Redis (Cluster Mode Enabled)
Making sure that you have enough memory to create a Redis snapshot
- Temas
- Database
- Etiquetas
- Amazon ElastiCache
- Idioma
- Español

OFICIAL DE AWSActualizada hace 2 años
Sin comentarios
Contenido relevante
- preguntada hace 2 meses
- preguntada hace 6 meses
- preguntada hace 5 meses
- preguntada hace 8 meses
- preguntada hace 9 meses