Intégration de la bibliothèque KPL avec le code producteur - 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.

Intégration de la bibliothèque KPL avec le code producteur

La bibliothèque producteur Kinesis (KPL) s'exécute dans un processus distinct et communique avec votre processus utilisateur parent à l'aide d'IPC. Cette architecture est parfois appelée un microservice et est choisie pour deux raisons principales :

1) Votre processus utilisateur ne se bloque pas même si la KPL se bloque

Votre processus peut avoir des tâches non liées à Kinesis Data Streams et peuvent être en mesure de poursuivre l'opération même si la KPL se bloque. Votre processus utilisateur parent peut redémarrer la KPL et redevenir entièrement opérationnel (cette fonctionnalité existe dans les encapsuleurs officiels).

Prenons l'exemple d'un serveur Web qui envoie des métriques à Kinesis Data Streams. Le serveur peut continuer à servir des pages même si la partie Kinesis Data Streams a cessé de fonctionner. Le blocage du serveur entier suite à un bogue dans la KPL provoque donc une panne inutile.

2) Les clients arbitraires peuvent être pris en charge

Il y a toujours des clients qui utilisent des langages autres que ceux qui sont officiellement pris en charge. Ces clients doivent également pouvoir utiliser la KPL facilement.

Matrice d'utilisation recommandée

La matrice d'utilisation suivante énumère les paramètres recommandés pour différents utilisateurs et vous indique si vous devez utiliser la KPL et comment. N'oubliez pas que si le regroupement est activé, le dégroupement doit aussi être utilisé pour extraire vos enregistrements du côté consommateur.

Langage côté producteur Langage côté consommateur Version de la KCL Logique de contrôle Pouvez-vous utiliser la KPL ? Mises en garde
Tout sauf Java * * * Non N/A
Java Java Utilise le SDK Java directement N/A Oui Si le regroupement est utilisé, vous devez utiliser la bibliothèque de regroupement fournie après les appels de GetRecords.
Java Tout sauf Java Utilise le SDK directement N/A Oui Désactiver obligatoirement le regroupement.
Java Java 1.3.x N/A Oui Désactiver obligatoirement le regroupement.
Java Java 1.4.x Appelle le contrôle sans argument Oui Aucun
Java Java 1.4.x Appelle le contrôle avec un numéro de séquence explicite Oui Désactiver le regroupement ou modifier le code pour utiliser des numéros de séquence étendus pour le contrôle.
Java Tout sauf Java 1.3.x + démon multilingue + wrapper propre au langage N/A Oui Désactiver obligatoirement le regroupement.