Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Opciones de durabilidad
ElastiCache for Valkey ofrece dos opciones de durabilidad: escrituras sincrónicas y asincrónicas.
Con las escrituras sincrónicas, las operaciones de escritura exitosas se almacenan de forma duradera en el registro transaccional antes de volver a los clientes Multi-AZ . Esto genera una latencia de escritura de un solo dígito en milisegundos y garantiza que no se pierda ninguna operación de escritura confirmada en caso de que se produzca un error.
Con las escrituras asincrónicas, las operaciones de escritura correctas se devuelven a los clientes antes de que se almacenen de forma duradera en el registro transaccional. Multi-AZ Dado que las operaciones de escritura no esperan a almacenarse de forma duradera en el registro Multi-AZ transaccional, la latencia de las operaciones de escritura equivale a la ausencia de durabilidad. ElastiCache Sin embargo, en caso de que se produzca un error, es posible que se pierdan hasta los últimos 10 segundos de las operaciones de escritura realizadas correctamente.
Para entender la posible pérdida de datos con las escrituras asincrónicas, considere el concepto de búfer de durabilidad. El búfer de durabilidad representa la antigüedad máxima de cualquier escritura que haya sido aceptada por el nodo principal pero que aún no se haya conservado en el registro transaccional. Multi-AZ El nodo principal registra la antigüedad de la escritura no confirmada más antigua. Mientras esta antigüedad sea inferior a 10 segundos, el nodo seguirá aceptando nuevas escrituras con normalidad. Si la antigüedad de la escritura no confirmada más antigua supera los 10 segundos, el nodo principal rechazará todos los comandos de escritura entrantes hasta que se ponga al día. Las operaciones de lectura se siguen realizando con una latencia de microsegundos durante este período. Una vez que persisten las escrituras pendientes, el nodo vuelve a aceptar las escrituras automáticamente. Esto garantiza que la posible pérdida de datos se limite a 10 segundos de escritura en caso de que se produzca un error.
Al configurar su cliente para enviar tráfico a un clúster duradero y asincrónico, asegúrese de que el cliente reintente automáticamente, con un retraso exponencial, cualquier comando de escritura que se rechace con el mensaje de error del clúster inactivo. Para obtener información sobre cómo configurar tus clientes para que gestionen este y otros errores transitorios, consulta las prácticas recomendadas: clientes de OSS y Amazon. Valkey/Redis ElastiCache
Elegir una opción de durabilidad
Utilice escrituras sincrónicas cuando la aplicación no pueda tolerar ninguna pérdida de datos durante un error. Con las escrituras sincrónicas, puede utilizarlas ElastiCache para un conjunto más amplio de casos de uso además del almacenamiento en caché, donde la pérdida de datos no es aceptable, como las bases de conocimiento de las aplicaciones RAG, la memoria de los agentes de IA, el estado del flujo de trabajo de los agentes de IA, la tokenización de los pagos, los metadatos de streaming, el estado de los reproductores de videojuegos y la gestión del inventario en tiempo real.
Utilice la escritura asincrónica cuando su aplicación dé prioridad al rendimiento de escritura y pueda tolerar la posible pérdida de hasta 10 segundos de datos no confirmados en caso de fallo. Esta opción es ideal para cargas de trabajo como el almacenamiento en caché de los datos de las aplicaciones, los almacenes de sesiones, las tablas de clasificación de juegos y los análisis en tiempo real.
Consideración de la política de desalojo para clústeres duraderos
Los clústeres duraderos utilizan el mismo grupo de parámetros predeterminado que los clústeres no duraderos. Este grupo de parámetros se establece maxmemory-policy en. volatile-lru Con esta política, Amazon ElastiCache podría desalojar las claves que tengan un tiempo de vida (TTL) establecido cuando la memoria esté agotada. Esto puede ocurrir incluso en un clúster duradero.
Para evitar que se desalojen las claves con un TTL, cree un grupo de parámetros personalizado y maxmemory-policy configúrelo en. noeviction Connoeviction, los comandos de escritura devuelven un error cuando la memoria está llena en lugar de eliminar las claves.
DatabaseMemoryUsagePercentageSupervise BytesUsedForCache y asegúrese de que su clúster tenga suficiente memoria para su carga de trabajo.