J'essaie de me faire une idée des consommateurs de Kafka et j'aimerais savoir si le cas d'utilisation suivant peut être résolu en utilisant Kafka.Kafka - groupes de consommateurs synchronisés
Mon cas d'utilisation est essentiellement celui-ci:
J'ai un flux que je voudrais être consommé en synchronisation par plusieurs consommateurs. En d'autres termes, j'ai un premier consommateur qui commence à consommer le flux, puis un autre consommateur arrive plus tard. J'aimerais que ce deuxième consommateur commence à consommer le flux à l'offset où est actuellement le premier consommateur.
Je sais que j'ai besoin d'avoir les consommateurs dans deux groupes différents. Mais il est clair pour moi:
- sur la façon ou s'il est possible de coordonner les groupes contrebalancées
- si je me attends à un temps d'attente pour la tâche telle coordination
Je proposais deux groupes différents car chaque consommateur devrait consommer les mêmes messages. Ma compréhension était, jusqu'à aujourd'hui, que dès qu'un consommateur a consommé un message, l'autre consommateur ne peut pas le consommer, sauf s'il appartient à un groupe différent. – Serge
Cela dépend du "mode", si vous avez choisi de garder tous les messages dans la file d'attente pendant, par exemple, un mois, tout consommateur peut lire tous les messages. Tout ce dont ils ont besoin pour faire la queue est un horodatage de l'index. La file d'attente répondra avec tous les messages après l'horodatage. Pensez-y comme un tampon de données, un consommateur pourrait effectivement laisser tomber toutes ses données et les relire dans la file d'attente. Et bien sûr, un consommateur peut lire tous les sujets qu'il veut, en gros, kafka ne se soucie pas des consommateurs. Ou les producteurs, d'ailleurs;) – Nikolas
On dirait qu'il est possible de dire un "index timestamp" en utilisant seulement le Java Client (en utilisant offsetsForTimes) je ne l'ai pas trouvé pour Python ou Scala ... Existe-t-il un autre moyen? – Serge