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.
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_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 :
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.