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.
Configuraciones de KCL
Defina propiedades de configuración para personalizar la funcionalidad de Kinesis Client Library y cumplir requisitos específicos. En la siguiente tabla se describen las propiedades y clases de configuración.
importante
En KCL 3.x, el algoritmo de equilibrio de carga tiene como objetivo lograr un uso uniforme de la CPU entre los procesos de trabajo, y no un número igual de arrendamientos por proceso de trabajo. Si establece maxLeasesForWorker demasiado bajo, podría limitar la capacidad de KCL de equilibrar la carga de trabajo de forma eficaz. Si utiliza la configuración maxLeasesForWorker, tenga presente aumentar su valor para permitir la mejor distribución de carga posible.
| Propiedad de configuración | Clase de configuración | Description (Descripción) | Predeterminado |
|---|---|---|---|
applicationName |
ConfigsBuilder | El nombre de la aplicación de KCL. Se utiliza de forma predeterminada para tableName y consumerName. |
No aplicable |
tableName |
ConfigsBuilder |
Permite sustituir el nombre de la tabla que se utiliza para la tabla de asignaciones de Amazon DynamoDB. |
No aplicable |
streamName |
ConfigsBuilder |
El nombre de la secuencia cuyos registros procesa de esta aplicación. |
No aplicable |
workerIdentifier |
ConfigsBuilder |
Identificador único que representa esta instancia del procesador de aplicaciones. Deben ser único. |
No aplicable |
failoverTimeMillis |
LeaseManagementConfig |
El número de milisegundos que deben transcurrir antes de que se pueda considerar que se ha producido un error en el propietario de una asignación. En el caso de las aplicaciones que tienen una gran cantidad de particiones, se pueden establecer en un número mayor para reducir la cantidad de IOPS de DynamoDB necesarios para el seguimiento de los arrendamientos. |
10 000 (10 segundos) |
shardSyncIntervalMillis |
LeaseManagementConfig |
El tiempo entre llamadas de sincronización del fragmento. |
60 000 (60 segundos) |
cleanupLeasesUponShardCompletion |
LeaseManagementConfig |
Cuando se establece, se eliminan las asignaciones tan pronto como se inicia el procesamiento del fragmento secundario. |
TRUE |
ignoreUnexpectedChildShards |
LeaseManagementConfig |
Cuando se establece, los fragmentos secundarios que tienen un fragmento abierto se pasan por alto. Esto es principalmente para DynamoDB Streams. |
FALSO |
maxLeasesForWorker |
LeaseManagementConfig |
La cantidad máxima de arrendamientos que debe aceptar un solo proceso de trabajo. Si se establece un valor demasiado bajo, podría causar que se pierdan datos si los procesos de trabajo no pueden procesar todas las particiones y que la asignación del arrendamiento entre los procesos de trabajo no sea óptima. Tenga en cuenta el número total de particiones, el número de procesos de trabajo y la capacidad de procesamiento de los procesos de trabajo al configurarlo. |
Sin límite |
maxLeaseRenewalThreads |
LeaseManagementConfig |
Controla el tamaño del grupo de subprocesos del renovador de asignaciones. Cuanto más grande sea el número de asignaciones que puede tomar la aplicación, más grande debe ser este grupo. |
20 |
billingMode |
LeaseManagementConfig |
Determina el modo de capacidad de la tabla de arrendamiento creada en DynamoDB. Existen dos opciones: el modo bajo demanda (PAY_PER_REQUEST) y el modo aprovisionado. Recomendamos utilizar la configuración predeterminada del modo bajo demanda, ya que escala automáticamente para adaptarse a la carga de trabajo sin necesidad de planificar la capacidad. |
PAY_PER_REQUEST (modo bajo demanda) |
initialLeaseTableReadCapacity |
LeaseManagementConfig | Capacidad de lectura de DynamoDB que se utiliza cuando Kinesis Client Library debe crear una tabla de arrendamiento de DynamoDB con el modo de capacidad aprovisionada. Puede ignorar esta configuración si utiliza el modo de capacidad bajo demanda predeterminado en la configuración billingMode. |
10 |
initialLeaseTableWriteCapacity |
LeaseManagementConfig | Capacidad de lectura de DynamoDB que se utiliza cuando Kinesis Client Library debe crear una tabla de arrendamiento de DynamoDB. Puede ignorar esta configuración si utiliza el modo de capacidad bajo demanda predeterminado en la configuración billingMode. |
10 |
initialPositionInStreamExtended |
LeaseManagementConfig |
La posición inicial de la secuencia en la que debería comenzar la aplicación. Esto solo se utiliza durante la creación inicial de la asignación. |
InitialPositionInStream.TRIM_HORIZON |
reBalanceThresholdPercentage |
LeaseManagementConfig |
Un valor porcentual que determina cuándo el algoritmo de equilibrio de carga debería reasignar las particiones entre los procesos de trabajo. Es una nueva configuración presentada en KCL 3.x. |
10 |
dampeningPercentage |
LeaseManagementConfig |
Un valor porcentual que se utiliza para amortiguar la cantidad de carga que se moverá desde el proceso de trabajo sobrecargado en una sola operación de rebalanceo. Es una nueva configuración presentada en KCL 3.x. |
60 |
allowThroughputOvershoot |
LeaseManagementConfig |
Determina si aún es necesario contratar un arrendamiento adicional al proceso de trabajo sobrecargado, incluso si esto provoca que el monto total del arrendamiento solicitado supere el monto de rendimiento deseado. Es una nueva configuración presentada en KCL 3.x. |
TRUE |
disableWorkerMetrics |
LeaseManagementConfig |
Determina si KCL debe ignorar las métricas de recursos de los procesos de trabajos (como el uso de la CPU) al reasignar los arrendamientos y equilibrar la carga. Configúrelo en TRUE si quiere evitar que KCL equilibre la carga según el uso de la CPU. Es una nueva configuración presentada en KCL 3.x. |
FALSO |
maxThroughputPerHostKBps |
LeaseManagementConfig |
Cantidad de rendimiento máximo que se debe asignar a un proceso de trabajo durante la asignación del arrendamiento. Es una nueva configuración presentada en KCL 3.x. |
Sin límite |
isGracefulLeaseHandoffEnabled |
LeaseManagementConfig |
Controla el comportamiento de la transferencia del arrendamiento entre los procesos de trabajo. Si se establece en true, KCL intentará transferir los arrendamientos sin problemas, dejando que el fragmento RecordProcessor tenga tiempo suficiente para completar el procesamiento antes de entregar el arrendamiento a otro trabajador. Esto puede ayudar a garantizar la integridad de los datos y realizar transiciones fluidas, pero puede aumentar el tiempo de transferencia. Si se establece en falso, el contrato de arrendamiento se transferirá inmediatamente sin esperar a que se cierre correctamente. RecordProcessor Esto puede llevar a que las transferencias sean más rápidas, pero se corre el riesgo de que el procesamiento quede incompleto. Nota: Los puntos de control deben implementarse dentro del método shutdownRequested () del RecordProcessor para poder beneficiarse de la elegante función de traspaso de arrendamientos. Es una nueva configuración presentada en KCL 3.x. |
TRUE |
gracefulLeaseHandoffTimeoutMillis |
LeaseManagementConfig |
Especifica el tiempo mínimo (en milisegundos) que se debe esperar a que el fragmento actual se cierre correctamente antes de RecordProcessor transferir forzosamente el arrendamiento al siguiente propietario. Si el método processRecords suele ejecutarse durante más tiempo que el valor predeterminado, tenga en mente aumentar esta configuración. Esto garantiza que RecordProcessor tenga tiempo suficiente para completar su procesamiento antes de que se produzca la transferencia del arrendamiento. Es una nueva configuración presentada en KCL 3.x. |
30 000 (30 segundos) |
maxRecords |
PollingConfig |
Permite establecer el número máximo de registros que devuelve Kinesis. |
10 000 |
retryGetRecordsInSeconds |
PollingConfig |
Configura el retraso entre los GetRecords intentos en caso de error. |
Ninguno |
maxGetRecordsThreadPool |
PollingConfig |
El tamaño del grupo de subprocesos utilizado para GetRecords. |
Ninguno |
idleTimeBetweenReadsInMillis |
PollingConfig |
Determina cuánto tiempo espera KCL entre GetRecords llamadas para sondear los datos de los flujos de datos. La unidad es de milisegundos. |
1500 |
callProcessRecordsEvenForEmptyRecordList |
ProcessorConfig |
Cuando se establece, se llama al procesador de registros incluso cuando no se proporciona ningún registro de Kinesis. |
FALSO |
parentShardPollIntervalMillis |
CoordinatorConfig |
Determina la frecuencia con que debería sondear un procesador de registros para ver si el fragmento principal se ha completado. La unidad es milisegundos. |
10 000 (10 segundos) |
skipShardSyncAtWorkerInitializationIfLeaseExist |
CoordinatorConfig |
Deshabilita la sincronización de los datos de los fragmentos si la tabla de asignaciones todavía contiene entradas. |
FALSO |
shardPrioritization |
CoordinatorConfig |
La priorización de fragmentos que se va a utilizar. |
NoOpShardPrioritization |
ClientVersionConfig |
CoordinatorConfig |
Determina en qué modo de compatibilidad de versiones de KCL se ejecutará la aplicación. Esta configuración es solo para la migración desde versiones anteriores de KCL. Al migrar a la versión 3.x, debe establecer esta configuración en |
CLIENT_VERSION_CONFIG_3X |
taskBackoffTimeMillis |
LifecycleConfig |
El tiempo que se debe esperar para reintentar la tareas de KCL con errores. La unidad es de milisegundos. |
500 (0,5 segundos) |
logWarningForTaskAfterMillis |
LifecycleConfig |
Tiempo que se debe esperar antes de registrar una advertencia si una tarea no ha finalizado. |
Ninguno |
listShardsBackoffTimeInMillis |
RetrievalConfig | El número de milisegundos que se debe esperar entre llamadas a ListShards cuando se producen errores. La unidad es de milisegundos. |
1500 (1,5 segundos) |
maxListShardsRetryAttempts |
RetrievalConfig | El número máximo de veces que se reintenta ListShards antes de desistir. |
50 |
metricsBufferTimeMillis |
MetricsConfig |
Especifica el tiempo máximo (en milisegundos) para almacenar en búfer las métricas antes de publicarlas. CloudWatch |
10 000 (10 segundos) |
metricsMaxQueueSize |
MetricsConfig |
Especifica el número máximo de métricas que se deben almacenar en búfer antes de publicarlas CloudWatch. |
10 000 |
metricsLevel |
MetricsConfig |
Especifica el nivel de granularidad de CloudWatch las métricas que se van a habilitar y publicar. Valores posibles: NONE, SUMMARY, DETAILED. |
MetricsLevel.DETALLADO |
metricsEnabledDimensions |
MetricsConfig |
Controla las dimensiones permitidas para las CloudWatch métricas. |
Todas las dimensiones |
Configuraciones discontinuadas en KCL 3.x
Las siguientes propiedades de configuración están discontinuadas en KCL 3.x:
| Propiedad de configuración | Clase de configuración | Description (Descripción) |
|---|---|---|
maxLeasesToStealAtOneTime |
LeaseManagementConfig |
El número máximo de asignaciones del que debería intentar apropiarse una aplicación al mismo tiempo. KCL 3.x ignorará esta configuración y reasignará los arrendamientos según la utilización de los recursos por parte de los procesos de trabajo. |
enablePriorityLeaseAssignment |
LeaseManagementConfig |
Controla si los trabajadores deben dar prioridad a los arrendamientos muy vencidos (los arrendamientos no se renuevan hasta triplicar el tiempo de conmutación por error) y a los nuevos arrendamientos de particiones, independiente del número de arrendamientos de destino, pero respetando los límites máximos de arrendamiento. KCL 3.x ignorará esta configuración y siempre distribuirá los arrendamientos vencidos entre los procesos de trabajo. |
importante
Debe seguir teniendo las propiedades de configuración interrumpidas durante la migración de versiones anteriores de KCL a KCL 3.x. Durante la migración, el proceso de trabajo de KCL comenzará primero con el modo compatible con KCL 2.x y pasará al modo de funcionalidad de KCL 3.x cuando detecte que todos los procesos de trabajo de KCL de la aplicación están preparados para ejecutar KCL 3.x. Estas configuraciones discontinuadas son necesarias mientras los procesos de trabajo de KCL utilizan el modo compatible con KCL 2.x.