~/talk

The Magical Rebalance Protocol of Apache Kafka

Talkat Strange Loop 2018 · 2018-09-26..09-28· [microservices]
slides:none on file

Kafka hides a generic coordination protocol that implements client-side partition assignment via a two-step join+sync with leader election, heartbeats and rebalances; it already supports surprising scale like 30,000 consumer groups and groups of hundreds. Concrete APIs use it: Consumer, Connect, Streams and Schema Registry, with hooks for custom assignors (for example sticky assignor) and a user metadata loophole that lets you assign non-partition tasks. The protocol works over the Kafka binary requests, has tunable timeouts, a generation ID for fencing and practical request size limits.

AI-written summary · about

  1. 0:00Intro
  2. 3:18Partitions
  3. 4:12Replication
  4. 5:23Kafka Consumer
  5. 6:20Multiple Consumers
  6. 7:07Consumer Groups
  7. 10:00Requirements
  8. 13:17Whats a protocol to do?
  9. 13:53Layered protocol
  10. 15:00How the protocol is used today?
  11. 15:33Dramatis Personae
  12. 16:16Who is the Coordinator
  13. 18:01Joining Group
  14. 20:37Selecting an Assignment Protocol
  15. 22:42Kafka Protocol
  16. 23:04Sync Group
  17. 24:30Heartbeat
  18. 25:41Leave Group
  19. 26:08Rebalancing
  20. 29:39Schema Registry
  21. 32:31Stream-Stream Join
  22. 35:12To Summarize!
  23. 36:19Some future plans...
  24. 37:18References
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.