Wann und wie oft wählt Kafka High Level Producer einen Anführer? Führt es vor dem Senden jeder Nachricht oder nur einmal zum Zeitpunkt der Erstellung der Verbindung?Wann findet die Kafka-Wahl statt?
Antwort
Jeder Makler hat Informationen über die Liste der Themen (und Partitionen) und deren Führer, die vom Tierpfleger immer dann aktualisiert werden, wenn der neue Leiter gewählt wird oder wenn sich die Anzahl der Partition ändert.
Wenn der Hersteller also einen der Broker anruft, antwortet er mit dieser Informationsliste. Sobald der Produzent diese Information erhält, speichert er diese und verwendet sie, um sich mit dem Leader zu verbinden. Wenn das nächste Mal die Nachricht an dieses bestimmte Thema (und die Partition) gesendet werden soll, wird diese zwischengespeicherte Information verwendet.
Nehmen wir an, es gab nur einen Führer und es gibt keine Repliken für dieses Thema/Partition Duo und es wurde zerquetscht. In diesem Fall versucht es, sich mit diesem Anführer zu verbinden und es schlägt fehl. Es wird versuchen, den Führer von der anderen Maklerliste zu holen, die es zwischengespeichert hat, um zu überprüfen, ob es einen Führer für dieses Thema gibt! Da es keine findet, wird es versuchen, auf den gleichen Anführer zu treffen (das ist tot) und nach dem Erreichen einer maximalen Anzahl von Wiederholungen wird es eine Ausnahme auslösen !!
- 1. Wann findet die javax.xml.ws.soap.SOAPFaultException statt?
- 2. Wann findet die statische Klasseninitialisierung statt?
- 3. Wann findet die WHERE-Filterung statt?
- 4. Wann findet fetch() in Redux statt?
- 5. Wann findet der HTTPS-Handshake statt?
- 6. Wann findet die erneute Speicherung für ungeordnete assoziative Container statt?
- 7. Wann findet der Kopiervorgang für schnelle Werttypen statt?
- 8. Wann findet Reflow in einer DOM-Umgebung statt?
- 9. JS Formularüberprüfung findet nicht statt
- 10. Wo findet die Lokalisierung im Eclipse-Code statt?
- 11. Wann "Funktion" statt "Spaß" verwenden?
- 12. Just-in-Time-Compilation - wann findet es tatsächlich in Java statt?
- 13. Findet die Netty-Channel-Pipeline auf demselben Thread statt?
- 14. iCloud One Time Setup findet nicht statt
- 15. Findet NSURLSession in einem separaten Thread statt?
- 16. Einheitliche Initialisierung in C++ 0x, wann() statt {}?
- 17. Wann sollte ich String statt Stringstream verwenden?
- 18. MVC Validierungsmodellattribute: Clientseitige Validierung findet nicht statt, nur Serverseite
- 19. ColumnStore Index Scan findet nicht im Batch-Modus statt.
- 20. Escaping Completion Handler findet nie statt (Google Places API)
- 21. Rspec stubbed finder findet ein Enumerable statt Einzelobjekt
- 22. a4j: commandButton funktioniert nicht. Keine Aktion findet statt auf Klick
- 23. Wie findet CNN Training in diesem Bild statt?
- 24. Wann läuft cloud-init und wie findet es seine Daten?
- 25. Warum findet dieser unendliche $ Digest-Loop-Fehler statt?
- 26. Wann sollte ein ViewModel statt eines Modells verwendet werden?
- 27. Wann gehört der Anwendungsstatus in Core Data statt in NSUserDefaults?
- 28. Wann und wie verwende ich Enumerationsklassen statt Enums?
- 29. Wann RSpecs zu verwenden, lassen Sie! statt vorher?
- 30. Warum findet die parallele Ausführung für mehrere RXJava Observables nicht statt?
Hersteller wählen keinen Führer - es gibt kein Führerkonzept für sie. Können Sie erläutern, was Sie meinen? Vermittler und Verbraucher haben jedoch Führerkonzept. –
Producer muss zu einem Broker im Cluster veröffentlichen. Wie also entscheidet der Produzent, in welche Instanz von Kafka er Daten pushen wird? –
Es hängt davon ab, auf welches Thema und Partition Sie Datum schreiben. Jede Topic-Partition hat einen Broker, der die Führungsposition innehat - und schreibt nur an den Leader. Daher könnte ein Produzent möglicherweise an alle Broker in Ihrem Cluster schreiben, wenn alle Partitionen, auf die er schreibt, auf verschiedenen Brokern gehostet werden. –