Nous avons actuellement une application qui reçoit une grande quantité de données de capteur. Chaque capteur possède son propre identifiant de capteur (par exemple, '5834f7718273f92cc326f620') et émet son statut à différents intervalles. L'ordre de traitement des messages entrants n'est pas important, par exemple un nouveau message d'un capteur peut être traité avant un message plus ancien d'un autre capteur. Ce qui importe cependant, c'est que chaque message pour un capteur donné doit être traité séquentiellement; dans l'ordre qu'ils sont arrivés dans le courant.AWS Kinesis Stream en file d'attente FIFO
J'ai jeté un oeil à la bibliothèque client Kinesis et je comprends que KCL envoie des messages à un seul processeur par partition. Cela signifie-t-il que si un flux n'a qu'un seul fragment, il n'aura qu'un seul processeur et ne pourrait-il pas créer un goulot d'étranglement? Ou est-ce que KCL a plus d'un processeur, et d'une manière ou d'une autre, en utilisant peut-être la clé de partition, les messages avec la même clé de partition ne sont jamais traités simultanément?
Remarque: Nous avons jeté un coup d'œil sur sqs fifo, mais nous l'avons exclu car la limite de 300 messages par seconde deviendrait bientôt un problème.