La v1.3 apre il modulo di replicazione nel Kafka Simulator — il meccanismo dietro ogni garanzia di durabilità che Kafka offre. È il pacchetto più grande finora, con 12 nuovi scenari, e porta il programma a 45 su 125.
Cosa c’è nella v1.3
La replicazione è il punto in cui le garanzie di Kafka diventano concrete — e in cui si possono perdere:
- Meccanica dell’ISR — come l’insieme delle repliche sincronizzate si restringe quando un follower resta indietro e si allarga quando recupera, e perché l’appartenenza a quell’insieme è tutto.
- La high watermark — perché un consumer può leggere solo fino alla HW, e perché a volte la HW smette di avanzare anche se il leader continua ad accettare scritture.
acks=allemin.insync.replicas— la relazione esatta tra i due: perché un producer scrive ancora dopo la caduta di un broker ma inizia a ricevereNotEnoughReplicasdopo il secondo.- Elezione del leader — quale replica subentra dopo un guasto, e perché deve provenire dall’ISR.
- Elezione unclean — cosa si perde davvero lasciando che una replica non sincronizzata diventi leader, osservato offset per offset.
Questo è il modulo per rendere visibile il quale è stato costruito l’intero simulatore. Il comportamento interessante vive interamente nelle transizioni — prima e dopo la morte di un broker, prima e dopo un cambio di ISR — ed è esattamente ciò che una lavagna non può mostrare.
Novità nel gioco libero: la topologia active/passive
La v1.3 apre anche la prima forma multi-datacenter nella sandbox del gioco libero: active/passive — due regioni, un mirror unidirezionale e un failover che attivi quando vuoi. È il modo più semplice per vedere la replicazione smettere di essere una faccenda interna a un singolo cluster.
Il programma DR — MirrorMaker 2, traduzione degli offset, failback — arriverà più avanti, nella v1.8. Questa è la sandbox, sbloccata presto di proposito: vale la pena giocare con la forma molto prima che arrivino gli scenari che la spiegano. Ciascuno dei tre pacchetti successivi aggiunge un’altra topologia.
Perché la replicazione è l’ancora
Producer e consumer poggiano su queste garanzie; storage, transazioni e multi-DC le estendono. Una volta che vedi l’ISR muoversi e la high watermark tenere, il resto del programma è una serie di variazioni su un sistema che già capisci.
Apri il simulatore, imposta RF=3 e min.insync.replicas=2, e comincia a uccidere broker.