...
Partition reconciliation is the act of updating the consumer's internal state to reflect its assigned partitions. This reconciliation occurs in multiple steps, shown here:
Step 1
PlantUML Render Macro | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@startuml skinparam maxMessageSize 70 HRM -> MS: heartbeat received MS -> AR: delegate assignment reconciliation (if needed) AR -> AR: determine partions to revoke |
In the above...
Step 2
PlantUML Render Macro | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@startuml participant "Partitions\nRevoked\nEvent" as PRE Participant "Consumer\nRebalance\nListener" as CRL queue "Backend\nEvent\nQueue" as BEQ skinparam maxMessageSize 70 U -> PAC: poll() PAC -> BEQ: poll() return PAC -> PAC: process background events PAC -> RPE: partitions() activate RPE return PAC -> CRL: partitionsRevoked() create PRE activate AEQ return return |
In the above...