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