2017-09-27 4 views
0

1. La consommation en même temps sur le même sujet et même partitionparallèle Produire et consommer Kafka

Supposons que j'ai 100 partitions pour un sujet donné (par exemple Purchases), je peux facilement consommer ces 100 partitions (par exemple Electronics , Clothing, et etc ...) en parallèle en utilisant un groupe de consommateurs avec 100 consommateurs.

Toutefois, cela consiste à attribuer un consommateur à chaque sous-ensemble des données totales sur Purchases. Et si je veux juste consommer un sous-ensemble de données avec 100 consommateurs simultanément? Par exemple, pour tous mes consommateurs, ils veulent juste savoir Electronics partition du sujet Purchases.

Est-il possible de consommer cette partition simultanément?

En général, je veux juste que tous mes consommateurs reçoivent le même ensemble de données simultanément.

D'après les informations que j'ai compris, il me semble que les consommateurs ne peut pas consommer de répliques: Consuming from a replica

Puis-je produire les mêmes données sur plusieurs sujets, comme Purchase-1[Electronics] et Purchase-2[Electronics] donc je peux les consommer en même temps ? Est-ce une approche recommandée?

2. La production en même temps sur le même sujet et même partition

Lorsque plusieurs producteurs produisent au même sujet et même partition, puisque nous ne pouvons écrire au chef de la partition et les répliques ne sont là pour est-ce que cela signifie qu'il n'y a aucune concurrence? (à savoir chaque livraison doit attendre en ligne.)

Répondre

1
  1. Si ces 100 consommateurs appartiennent à différents groupes de consommateurs, ils peuvent consommer du même sujet et partition en même temps. Dans ce cas, vous devez vous assurer que chaque consommateur est capable de gérer la charge à partir des 100 partitions.
  2. Les producteurs peuvent produire sur la même partition de sujet en même temps, mais l'ordre réel des messages écrits sur la partition est déterminé par le chef de partition.
+0

Si c'est le cas, je ferais juste 100 sujets et 1 partition pour chaque sujet. Ensuite, je crée 100 groupes de consommateurs afin que tous mes consommateurs puissent avoir le même message! Cependant, cela conduit vraiment à une autre question de suivi. Savez-vous comment Kafka calcule sa charge de lecture? Parce que maintenant j'ai 100 consommateurs lisant à partir du même chef de partition et physiquement il n'y a qu'un seul fichier journal existe sur le disque dur. Comment atteint-il le parallélisme? – cfeng

+0

À droite, les groupes de consommateurs vous permettent de répartir la charge de lecture entre les consommateurs du groupe. Y a-t-il quelque chose de spécifique que vous ne pouvez réaliser qu'avec un seul consommateur consommateur? Parce que vous ne profitez pas pleinement de ce que Kafka a à offrir. – vahid

+0

Le cas d'utilisation actuel est que j'ai plusieurs instances de serveurs d'applications et chaque instance est un consommateur du cluster Kafka. Ma principale préoccupation est la suivante: quelle est la manière la plus efficace et la plus fiable de permettre à chaque serveur d'applications de recevoir le même ensemble de données? C'est pourquoi je suggérais que chaque serveur d'application appartienne à son propre groupe de consommateurs. De cette façon, chacun d'eux recevra le même ensemble de données. – cfeng