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.
Voici quelques éléments de réflexion supplémentaires à intégrer dans la conception de votre Amazon Kinesis Data Streams.
Rubriques
Producteurs et consommateurs de données en démarrage
Par défaut, la lecture des enregistrements KCL commence à partir de la pointe du flux, qui est le dernier enregistrement ajouté. Dans cette configuration, si une application productrice de données ajoute des enregistrements avant le démarrage des processeurs d'enregistrements, ces enregistrements ne sont pas lus par les processeurs d'enregistrements une fois qu'ils ont démarré.
Pour modifier le comportement des processeurs d'enregistrements afin qu'ils lisent toujours les données à partir du début du flux, définissez la valeur suivante dans le fichier de propriétés de votre application Amazon Kinesis Data Streams :
initialPositionInStream = TRIM_HORIZON
Par défaut, Amazon Kinesis Data Streams stocke toutes les données pendant 24 heures. Il prend également en charge la conservation étendue jusqu'à 7 jours et la conservation à long terme jusqu'à 365 jours. Ce laps de temps est appelé la période de conservation. Si vous définissez la position de début sur TRIM_HORIZON
, le processeur d'enregistrements démarre par les données les plus anciennes du flux, telles quelles sont définies par la période de conservation. Même avec la valeur TRIM_HORIZON
, si un processeur d'enregistrements démarre après un délai supérieur à la période de conservation, certains enregistrements du flux ne sont plus disponibles. C'est pourquoi vous devez toujours faire en sorte que les applications grand public lisent à partir du flux et utiliser la CloudWatch métrique GetRecords.IteratorAgeMilliseconds
pour vérifier que les applications suivent le rythme des données entrantes.
Dans certains scénarios, il peut être très bien pour les processeurs d'enregistrements de manquer les quelques premiers enregistrements du flux. Par exemple, vous pouvez exécuter certains enregistrements initiaux dans le flux pour vérifier que le flux fonctionne end-to-end comme prévu. Après avoir fait cette vérification initiale, démarrez vos applications de travail et commencez à placer des données de production dans le flux.
Pour plus d'informations sur le paramètre TRIM_HORIZON
, consultez Utiliser des itérateurs de partitions.
Arrêter une application Amazon Kinesis Data Streams
Lorsque votre application Amazon Kinesis Data Streams a terminé la tâche prévue, vous devez l'arrêter en mettant fin EC2 aux instances sur lesquelles elle s'exécute. Vous pouvez arrêter les instances à l'aide de la AWS Management Console
Après avoir arrêté votre application Amazon Kinesis Data Streams, vous devez supprimer la table Amazon DynamoDB utilisée pour suivre l'état de KCL l'application.
Limitation de lecture
Le débit d'un flux est configuré au niveau de la partition. Chaque partition a un débit de lecture allant jusqu'à 5 transactions par seconde pour les lectures, jusqu'à un taux total de lecture de données maximal de 2 Mo par seconde. Si une application (ou un groupe d'applications fonctionnant sur le même flux) tente d'extraire des données à partir d'une partition à une vitesse supérieure ; Kinesis Data Streams limite les opérations Get correspondantes.
Dans une application Amazon Kinesis Data Streams, si un processeur d'enregistrements traite les données plus vite que la limite, comme dans le cas d'un basculement, la limitation se produit. Dans la KCL mesure où il gère les interactions entre l'application et Kinesis Data Streams, les exceptions de limitation se produisent dans KCL le code plutôt que dans le code de l'application. Cependant, étant donné que KCL ces exceptions sont enregistrées, vous les voyez dans les journaux.
Si vous trouvez que votre application est systématiquement limitée, vous devez penser à augmenter le nombre de partitions du flux.