Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Configurations KCL

Mode de mise au point
Configurations KCL - Amazon Kinesis Data Streams

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez définir les propriétés de configuration pour personnaliser les fonctionnalités de la bibliothèque cliente Kinesis afin de répondre à vos besoins spécifiques. Le tableau suivant décrit les propriétés et les classes de configuration.

Important

Dans KCL 3.x, l'algorithme d'équilibrage de charge vise à obtenir une utilisation uniforme du processeur entre les travailleurs, et non un nombre égal de baux par travailleur. Si cette maxLeasesForWorker valeur est trop basse, vous risquez de limiter la capacité de KCL à équilibrer efficacement la charge de travail. Si vous utilisez la maxLeasesForWorker configuration, pensez à augmenter sa valeur pour permettre la meilleure répartition de charge possible.

Ce tableau présente les propriétés de configuration de KCL
Propriété de configuration Classe de configuration Description Valeur par défaut
applicationName ConfigsBuilder Nom de cette application KCL. Utilisé par défaut pour le tableName et le consumerName. Ne s’applique pas
tableName ConfigsBuilder

Permet de remplacer le nom du tableau utilisé par le tableau des baux Amazon DynamoDB.

Ne s’applique pas
streamName ConfigsBuilder

Nom du flux à partir duquel cette application traite les enregistrements.

Ne s’applique pas
workerIdentifier ConfigsBuilder

Identifiant unique qui représente cette instanciation du processeur d'applications. Il doit être unique.

Ne s’applique pas
failoverTimeMillis LeaseManagementConfig

Nombre de millisecondes qui doivent s'écouler avant que vous puissiez considérer qu'un bail propriétaire a échoué. Pour les applications comportant un grand nombre de partitions, ce nombre peut être défini sur un nombre plus élevé afin de réduire le nombre d'IOPS DynamoDB nécessaires au suivi des baux.

10 000 (10 secondes)
shardSyncIntervalMillis LeaseManagementConfig

Délai entre les appels de synchronisation des partitions.

60 000 (60 secondes)
cleanupLeasesUponShardCompletion LeaseManagementConfig

Lorsqu'ils sont définis, les baux sont supprimés dès que les baux enfant ont commencé le traitement.

TRUE
ignoreUnexpectedChildShards LeaseManagementConfig

Lorsqu'elles sont définies, les partitions enfant ont une partition ouverte qui est ignorée. Cela concerne principalement DynamoDB Streams.

FALSE
maxLeasesForWorker LeaseManagementConfig

Le nombre maximum de baux qu'un seul travailleur doit accepter. Une valeur trop faible peut entraîner une perte de données si les travailleurs ne peuvent pas traiter toutes les partitions, et entraîner une attribution de bail sous-optimale entre les travailleurs. Tenez compte du nombre total de partitions, du nombre de travailleurs et de la capacité de traitement des travailleurs lors de sa configuration.

Illimité
maxLeaseRenewalThreads LeaseManagementConfig

Contrôle la taille du pool de threads des renouvellements de baux. Plus votre application accepte de baux, plus la taille du pool doit être importante.

20
billingMode LeaseManagementConfig

Détermine le mode de capacité de la table des baux créée dans DynamoDB. Il existe deux options : le mode à la demande (PAY_PER_REQUEST) et le mode provisionné. Nous vous recommandons d'utiliser le paramètre par défaut du mode à la demande, car il s'adapte automatiquement à votre charge de travail sans qu'il soit nécessaire de planifier les capacités.

PAY_PER_REQUEST (mode à la demande)
initialLeaseTableReadCapacity LeaseManagementConfig Capacité de lecture DynamoDB utilisée si la bibliothèque cliente Kinesis doit créer une nouvelle table de location DynamoDB en mode capacité provisionnée. Vous pouvez ignorer cette configuration si vous utilisez le mode de capacité à la demande par défaut dans la billingMode configuration. 10
initialLeaseTableWriteCapacity LeaseManagementConfig Capacité de lecture DynamoDB utilisée si la bibliothèque cliente Kinesis doit créer une nouvelle table de bail DynamoDB. Vous pouvez ignorer cette configuration si vous utilisez le mode de capacité à la demande par défaut dans la billingMode configuration. 10
initialPositionInStreamExtended LeaseManagementConfig

La position initiale dans le flux à laquelle l'application doit commencer. Elle est utilisée uniquement lors de la création de bail initiale.

InitialPositionInStream.TRIM_HORIZON

reBalanceThresholdPercentage LeaseManagementConfig

Une valeur en pourcentage qui détermine à quel moment l'algorithme d'équilibrage de charge doit envisager de réaffecter des partitions entre les travailleurs.

Il s'agit d'une nouvelle configuration introduite dans KCL 3.x.

10
dampeningPercentage LeaseManagementConfig

Une valeur en pourcentage qui est utilisée pour atténuer la quantité de charge qui sera déplacée par le travailleur surchargé lors d'une seule opération de rééquilibrage.

Il s'agit d'une nouvelle configuration introduite dans KCL 3.x.

60
allowThroughputOvershoot LeaseManagementConfig

Détermine si un contrat de location supplémentaire doit encore être souscrit auprès du travailleur surchargé, même si cela fait en sorte que le débit total de location utilisé dépasse le débit souhaité.

Il s'agit d'une nouvelle configuration introduite dans KCL 3.x.

TRUE
disableWorkerMetrics LeaseManagementConfig

Détermine si KCL doit ignorer les indicateurs de ressources fournis par les travailleurs (tels que l'utilisation du processeur) lors de la réattribution des baux et de l'équilibrage de charge. Définissez ce paramètre sur TRUE si vous souhaitez empêcher KCL d'équilibrer la charge en fonction de l'utilisation du processeur.

Il s'agit d'une nouvelle configuration introduite dans KCL 3.x.

FALSE
maxThroughputPerHostKBps LeaseManagementConfig

Montant du débit maximal à attribuer à un travailleur lors de l'attribution du bail.

Il s'agit d'une nouvelle configuration introduite dans KCL 3.x.

Illimité
isGracefulLeaseHandoffEnabled LeaseManagementConfig

Contrôle le comportement du transfert des baux entre les travailleurs. Lorsque ce paramètre est défini sur true, KCL tentera de transférer les baux de manière harmonieuse en laissant RecordProcessor suffisamment de temps à la partition pour terminer le traitement avant de transférer le bail à un autre travailleur. Cela peut contribuer à garantir l'intégrité des données et des transitions fluides, mais peut augmenter le temps de transfert.

Lorsqu'il est défini sur false, le bail sera annulé immédiatement sans attendre qu' RecordProcessor il soit définitivement résilié. Cela peut accélérer les transferts, mais risque de ne pas aboutir à un traitement incomplet.

Remarque : Le point de contrôle doit être implémenté dans la méthode shutdownRequested () du RecordProcessor pour bénéficier de la fonctionnalité de transfert de bail gracieux.

Il s'agit d'une nouvelle configuration introduite dans KCL 3.x.

TRUE
gracefulLeaseHandoffTimeoutMillis LeaseManagementConfig

Spécifie le temps minimum (en millisecondes) à attendre que la partition actuelle s'éteigne correctement avant de RecordProcessor transférer de force le bail au propriétaire suivant.

Si votre méthode ProcessRecords s'exécute généralement plus longtemps que la valeur par défaut, pensez à augmenter ce paramètre. Cela garantit RecordProcessor qu'il dispose de suffisamment de temps pour terminer son traitement avant le transfert de bail.

Il s'agit d'une nouvelle configuration introduite dans KCL 3.x.

30 000 (30 secondes)
maxRecords PollingConfig

Permet de définir le nombre maximum d'enregistrements renvoyés par Kinesis.

10 000
retryGetRecordsInSeconds PollingConfig

Configure le délai entre les GetRecords tentatives d'échec.

Aucun
maxGetRecordsThreadPool PollingConfig

La taille du pool de threads utilisée pour GetRecords.

Aucun
idleTimeBetweenReadsInMillis PollingConfig

Détermine la durée pendant laquelle KCL attend entre les GetRecords appels pour interroger les données des flux de données. L'unité est la milliseconde.

1 500
callProcessRecordsEvenForEmptyRecordList ProcessorConfig

Lorsqu'il est défini, le processeur d'enregistrements est appelé même si aucun enregistrement n'a été fourni depuis Kinesis.

FALSE
parentShardPollIntervalMillis CoordinatorConfig

À quelle fréquence un processeur d'enregistrements doit-il interroger pour voir si la partition parent est terminée. L'unité est la milliseconde.

10 000 (10 secondes)
skipShardSyncAtWorkerInitializationIfLeaseExist CoordinatorConfig

Désactivez la synchronisation des données de partition si la table des baux contient des baux existants.

FALSE

shardPrioritization CoordinatorConfig

Définition des priorités de partition à utiliser.

NoOpShardPrioritization

ClientVersionConfig CoordinatorConfig

Détermine le mode de compatibilité des versions de KCL dans lequel l'application s'exécutera. Cette configuration est uniquement destinée à la migration depuis les versions précédentes de KCL. Lors de la migration vers la version 3.x, vous devez définir cette configuration sur. CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X Vous pouvez supprimer cette configuration lorsque vous avez terminé la migration.

CLIENT_VERSION_CONFIG_3X
taskBackoffTimeMillis LifecycleConfig

Temps d'attente avant de réessayer les tâches KCL ayant échoué. L'unité est la milliseconde.

500 (0,5 seconde)
logWarningForTaskAfterMillis LifecycleConfig

Temps d'attente avec la consignation d'un avertissement si une tâche n'a pas été terminée.

Aucun
listShardsBackoffTimeInMillis RetrievalConfig Nombre de millisecondes à attendre entre les appels de ListShards en cas de défaillance. L'unité est la milliseconde. 1 500 (1,5 seconde)
maxListShardsRetryAttempts RetrievalConfig Nombre maximum de nouvelles tentatives par ListShards avant l'abandon. 50
metricsBufferTimeMillis MetricsConfig

Spécifie la durée maximale (en millisecondes) pendant laquelle les métriques doivent être mises en mémoire tampon avant de les publier. CloudWatch

10 000 (10 secondes)
metricsMaxQueueSize MetricsConfig

Spécifie le nombre maximum de métriques à mettre en mémoire tampon avant de les publier CloudWatch.

10 000
metricsLevel MetricsConfig

Spécifie le niveau de granularité des CloudWatch métriques à activer et à publier.

Valeurs possibles : NONE, SUMMARY, DETAILED.

MetricsLevel.DÉTAILLÉ

metricsEnabledDimensions MetricsConfig

Contrôle les dimensions autorisées pour CloudWatch les métriques.

Toutes les dimensions

Configurations abandonnées dans KCL 3.x

Les propriétés de configuration suivantes ne sont plus disponibles dans KCL 3.x :

Le tableau indique les propriétés de configuration abandonnées pour KCL 3.x
Propriété de configuration Classe de configuration Description
maxLeasesToStealAtOneTime LeaseManagementConfig

Nombre maximum de baux qu'une application doit tenter de voler à la fois. KCL 3.x ignorera cette configuration et réattribuera les baux en fonction de l'utilisation des ressources par les travailleurs.

enablePriorityLeaseAssignment LeaseManagementConfig

Contrôle si les travailleurs doivent donner la priorité aux baux très expirés (les baux ne sont pas renouvelés pendant 3 fois le temps de basculement) et aux nouveaux baux partiels, quel que soit le nombre de baux cibles, tout en respectant les limites maximales des baux. KCL 3.x ignorera cette configuration et répartira toujours les baux expirés entre les travailleurs.

Important

Vous devez toujours disposer des propriétés de configuration interrompues lors de la migration des versions précédentes de KCL vers KCL 3.x. Au cours de la migration, le programme de travail KCL commence par le mode compatible KCL 2.x et passe au mode de fonctionnalité KCL 3.x lorsqu'il détecte que tous les programmes de travail KCL de l'application sont prêts à exécuter KCL 3.x. Ces configurations abandonnées sont nécessaires lorsque les utilisateurs de KCL exécutent le mode compatible KCL 2.x.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.