

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.

# Implementación de tolerancia a errores en Managed Service para Apache Flink
<a name="how-fault"></a>

Los puntos de control son el método que se utiliza para implementar la tolerancia a errores en Amazon Managed Service para Apache Flink. Un *punto de control* es una up-to-date copia de seguridad de una aplicación en ejecución que se utiliza para recuperarse inmediatamente de una interrupción inesperada de la aplicación o una conmutación por error. 

Para obtener más información sobre los puntos de control en las aplicaciones de Apache Flink, consulte [Checkpoints](https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/ops/state/checkpoints/) en la documentación de Apache Flink.

Una *instantánea* es una copia de seguridad del estado de la aplicación creada y gestionada manualmente. Las instantáneas permiten restaurar la aplicación a un estado anterior mediante una llamada a [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html). Para obtener más información, consulte [Administración de copias de seguridad de aplicaciones con instantáneas](how-snapshots.md).

Si la aplicación tiene habilitados los puntos de control, el servicio ofrece tolerancia a errores al crear y cargar copias de seguridad de los datos de la aplicación en caso de que la aplicación se reinicie inesperadamente. Estos reinicios inesperados de las aplicaciones pueden deberse a reinicios inesperados de trabajos, errores en las instancias, etc. Esto proporciona a la aplicación la misma semántica que cuando se ejecuta sin errores durante estos reinicios. 

Si las instantáneas están habilitadas para la aplicación y se configuran con las de la aplicación, el servicio proporciona una semántica de [ApplicationRestoreConfiguration](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_ApplicationRestoreConfiguration.html)procesamiento de una sola vez durante las actualizaciones de la aplicación o durante el escalado o el mantenimiento relacionados con el servicio.

## Configuración de los puntos de control en Managed Service para Apache Flink
<a name="how-fault-configure"></a>

Puede configurar el comportamiento de los puntos de control de la aplicación. Puede definir si mantiene el estado de los puntos de control, con qué frecuencia guarda su estado en los puntos de control y el intervalo mínimo entre el final de una operación de punto de control y el comienzo de otra.

Los siguientes ajustes se configuran mediante las operaciones de la API [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) o [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html):
+ `CheckpointingEnabled`: indica si los puntos de control están habilitados en la aplicación.
+ `CheckpointInterval`: contiene el tiempo en milisegundos entre las operaciones de los puntos de control (persistencia).
+ `ConfigurationType`: establezca este valor en `DEFAULT` para utilizar el comportamiento predeterminado de los puntos de control. Establezca este valor en `CUSTOM` para configurar otros valores.
**nota**  
El comportamiento predeterminado de los puntos de control es el siguiente:  
**CheckpointingEnabled:** verdadero
**CheckpointInterval:** 60000
**MinPauseBetweenCheckpoints: 5000**
Si **ConfigurationType**se establece en`DEFAULT`, se utilizarán los valores anteriores, incluso si se establecen en otros valores utilizando el código de la AWS Command Line Interface aplicación o configurando los valores en el código de la aplicación.
**nota**  
A partir de la versión 1.15 de Flink, Managed Service para Apache Flink utilizará `stop-with-savepoint` durante la creación automática de instantáneas, es decir, durante la actualización, el escalado o la detención de la aplicación. 
+ `MinPauseBetweenCheckpoints`: el tiempo mínimo en milisegundos entre el final de una operación de punto de control y el inicio de otra. Establecer este valor impide que la aplicación realice un punto de control de forma continua cuando una operación de punto de control tarda más de `CheckpointInterval`.

## Revisión de ejemplos de la API de puntos de control
<a name="how-fault-examples"></a>

En esta sección se incluyen ejemplos de solicitudes de acciones de API para configurar los puntos de control de una aplicación. Para obtener información sobre cómo utilizar un archivo JSON como entrada para una acción de API, consulte [Ejemplo de código de API de Managed Service para Apache Flink](api-examples.md).

### Configuración de puntos de control para una nueva aplicación
<a name="how-fault-examples-create-config"></a>

La siguiente solicitud de ejemplo de la acción [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) configura los puntos de control al crear una aplicación:

```
{
   "ApplicationName": "MyApplication",
   "RuntimeEnvironment":"FLINK-1_19",
   "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole",
   "ApplicationConfiguration": { 
      "ApplicationCodeConfiguration":{
      "CodeContent":{
        "S3ContentLocation":{
          "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket",
          "FileKey":"myflink.jar",
          "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345"
        }
      },
      "FlinkApplicationConfiguration": { 
         "CheckpointConfiguration": { 
            "CheckpointingEnabled": "true",
            "CheckpointInterval": 20000,
            "ConfigurationType": "CUSTOM",
            "MinPauseBetweenCheckpoints": 10000
         }
      }
}
```

### Deshabilitación de los puntos de control para una nueva aplicación
<a name="how-fault-examples-create-disable"></a>

La siguiente solicitud de ejemplo de la acción [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) deshabilita los puntos de control al crear una aplicación:

```
{
   "ApplicationName": "MyApplication",
   "RuntimeEnvironment":"FLINK-1_19",
   "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole",
   "ApplicationConfiguration": { 
      "ApplicationCodeConfiguration":{
      "CodeContent":{
        "S3ContentLocation":{
          "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket",
          "FileKey":"myflink.jar",
          "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345"
        }
      },
      "FlinkApplicationConfiguration": { 
         "CheckpointConfiguration": { 
            "CheckpointingEnabled": "false"
         }
      }
}
```

### Configuración de los puntos de control para una aplicación existente
<a name="how-fault-examples-update-config"></a>

La siguiente solicitud de ejemplo de la acción [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) configura los puntos de control para una aplicación existente:

```
{
   "ApplicationName": "MyApplication",
   "ApplicationConfigurationUpdate": { 
      "FlinkApplicationConfigurationUpdate": { 
         "CheckpointConfigurationUpdate": { 
            "CheckpointingEnabledUpdate": true,
            "CheckpointIntervalUpdate": 20000,
            "ConfigurationTypeUpdate": "CUSTOM",
            "MinPauseBetweenCheckpointsUpdate": 10000
         }
      }
   }
}
```

### Deshabilitación de los puntos de control para una aplicación existente
<a name="how-fault-examples-update-update-disable"></a>

La siguiente solicitud de ejemplo de la acción [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) deshabilita los puntos de control para una aplicación existente:

```
{
   "ApplicationName": "MyApplication",
   "ApplicationConfigurationUpdate": { 
      "FlinkApplicationConfigurationUpdate": { 
         "CheckpointConfigurationUpdate": { 
            "CheckpointingEnabledUpdate": false,
            "CheckpointIntervalUpdate": 20000,
            "ConfigurationTypeUpdate": "CUSTOM",
            "MinPauseBetweenCheckpointsUpdate": 10000
         }
      }
   }
}
```