Kafka in Action by Dylan Scott Viktor Gamov & Dave Klein
Author:Dylan Scott, Viktor Gamov & Dave Klein [Dylan Scott, Viktor Gamov & Klein, Dave]
Language: eng
Format: epub
Publisher: Manning Publications Co.
Published: 0101-01-01T00:00:00+00:00
Figure 6.4 New leader elected
NOTE In chapter 5 we discussed a Kafka Improvement Proposal, KIP-392, which allows consumer clients to fetch from the closest replica [16]. Reading from a preferred follower rather than the leader replica is something that might make sense if our brokers span physical data centers. However, when discussing leaders and followers in this book, unless stated otherwise, we will focus on the default leader read and write behaviors.
In-sync replicas (ISRs) are a key piece to really understanding Kafka. For a new topic, a specific number of replicas are created and added to the initial ISR list [17]. This number can be either from a parameter or, as a default, from the broker configuration.
One of the details to note with Kafka is that replicas do not heal themselves by default. If you lose a broker on which one of your copies of a partition exists, Kafka does not (currently) create a new copy. We mention this because some users are used to filesystems like HDFS that maintain their replication number (self-heal) if a block is seen as corrupted or failed. An important item to look at when monitoring the health of our systems is how many of our ISRs are indeed matching our desired number.
Why is watching this number so important? It is good to keep aware of how many copies you have before it hits 0! Letâs say that we have a topic that is only one partition and that partition is replicated three times. In the best-case scenario, we would have two copies of the data that is in our lead partition replica. This, of course, means that the follower replicas are caught up with the leader. But what if we lose another ISR?
It is also important to note that if a replica starts to get too far behind in copying messages from the leader, it can be removed from the ISR list. The leader notices if a follower is taking too long and drops it from its list of followers [17]. Then the leader continues to operate with a new ISR list. The result of this âslownessâ to the ISR list is the same as in figure 6.4, in which a broker failed.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Web Development with Julia and Genie by Ivo Balbaert & Adrian Salceanu(6074)
State Management with React Query by Daniel Afonso(3398)
Eleventy by Example by Robinson Bryan;(3319)
Architecting Vue.js 3 Enterprise-Ready Web Applications by Solomon Eseme(3030)
Building Python Web APIs with FastAPI by Abdulazeez Abdulazeez Adeshina(2928)
Digital Marketing with Drupal by José Fernandes(2821)
Becoming an Enterprise Django Developer by Michael Dinder(1238)
Building Python Web APIs with FastAPI: A fast-paced guide to building high-performance, robust web APIs with very little boilerplate code by Abdulazeez Abdulazeez Adeshina(1177)
Operator Training Simulator Handbook by Joseph Philip(1144)
Practical WebAssembly: Explore the fundamentals of WebAssembly programming using Rust by Sendil Kumar Nellaiyapen(1071)
Google Workspace User Guide: A Practical Guide to Using Google Workspace Apps Efficiently While Integrating Them With Your Data by Balaji Iyer(1060)
Hands-on Cloud Analytics with Microsoft Azure Stack: Transform Your Data to Derive Powerful Insights Using Microsoft Azure by Prashila Naik(1039)
State Management with React Query by Afonso Daniel;(1038)
Building SPAs with Django and HTML Over the Wire: Learn to build real-time single page applications with Python by Andros Fenollosa(992)
Modern Frontend Development with Node.js by Florian Rappl(921)
Building Data Science Applications with FastAPI by François Voron(914)
High Performance with Laravel Octane by R. Butti(910)
Kubernetes Design Patterns and Extensions by Onur Yilmaz(900)
JavaScript from Frontend to Backend by Unknown(813)
