Bonnes pratiques générales et recommandations pour les mises à niveau des applications - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

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.

Bonnes pratiques générales et recommandations pour les mises à niveau des applications

  • Testez le nouveau job/runtime sans état dans un environnement hors production avant de tenter une mise à niveau de production.

  • Envisagez de tester d'abord la mise à niveau dynamique avec une application hors production.

  • Assurez-vous que l'état de votre nouveau graphe de tâches est compatible avec l'instantané que vous utiliserez pour démarrer votre application mise à niveau.

    • Assurez-vous que les types enregistrés dans les états de l'opérateur restent les mêmes. Si le type a changé, Apache Flink ne peut pas restaurer l'état de l'opérateur.

    • Assurez-vous que l'opérateur que IDs vous avez défini à l'aide de la uid méthode reste le même. Apache Flink recommande vivement d'attribuer des données uniques IDs aux opérateurs. Pour plus d'informations, consultez la section Affectation d'un opérateur IDs dans la documentation d'Apache Flink.

      Si vous ne les attribuez pas IDs à vos opérateurs, Flink les génère automatiquement. Dans ce cas, elles peuvent dépendre de la structure du programme et, si elles sont modifiées, elles peuvent entraîner des problèmes de compatibilité. Flink utilise Operator IDs pour faire correspondre l'état de l'instantané à l'opérateur. Le changement IDs d'opérateur empêche le démarrage de l'application ou la suppression de l'état enregistré dans le cliché et le démarrage du nouvel opérateur sans état.

    • Ne modifiez pas la clé utilisée pour enregistrer l'état saisi.

    • Ne modifiez pas le type d'entrée des opérateurs dynamiques tels que window ou join. Cela change implicitement le type de l'état interne de l'opérateur, ce qui entraîne une incompatibilité d'état.