2016-10-18 1 views
0

Ich bin ein Anfänger und versuche, an Kafka hängen zu bleiben. Ich habe aus der Dokumentation gelesen, dass sowohl die Producer- als auch die Consumer-Anfragen an eine Partition auf dem Leader-Replikat bereitgestellt werden. Bedeutet dies, dass der Verbraucher nicht von den Anhängern eines Führers lesen kann? Wenn nicht, warum? Ich denke, wenn wir von Anhängern lesen können, wird es mehr Parallelismus verbessern. Jeder Einblick in dieses wäre eine große Hilfe.In Bezug auf lesen und schreiben in kafka?

+0

Sie könnten diesen Blogbeitrag lesen möchten: http://www.confluent.io/blog/handsfree-kafka-replication-a-lesson-in-operational-simplicity/ –

Antwort

2

Im aktuellen Design repliziert ein Follower den Leader passiv asynchron. Es ist erwähnenswert, dass nicht alle Replikate immer mit dem Leader synchronisiert sind, sondern nur ein Teil von ihnen, nämlich In-Sync-Replikate (ISR). Sie können alle Replikate als ISRs angeben, was sich jedoch auf den Durchsatz der Hersteller auswirkt.

Wenn Client-Lesevorgänge von beliebigen Followern verarbeitet werden können, gibt es zwei mögliche Kosten: 1. Kafka muss sicherstellen, dass alle Replikate zu jeder Zeit genau den gleichen Nachrichtensatz enthalten. Dies ist ein enormer Aufwand. 2. Es verlangsamt den Produzenten stark, da eine Nachricht nur dann als "committed" angesehen werden kann, wenn alle Replikate dies bestätigen.

+0

http: //www.confluent .io/blog/hands-free-kafka-replikation-a-lektion-in-operativ-einfachheit / –