Wydanie v1.3 otwiera moduł replikacji w Symulatorze Kafki — maszynerię stojącą za każdą gwarancją trwałości, jaką daje Kafka. To największy jak dotąd pakiet: 12 nowych scenariuszy, które powiększają program do 45 ze 125.
Co jest w v1.3
Replikacja to miejsce, w którym gwarancje Kafki stają się konkretne — i w którym można je stracić:
- Mechanika ISR — jak zbiór replik w synchronizacji kurczy się, gdy follower zostaje w tyle, i rozszerza, gdy nadrobi zaległości, oraz dlaczego przynależność do tego zbioru jest sednem całej gry.
- High watermark — dlaczego konsument może czytać tylko do HW i dlaczego HW czasem przestaje się przesuwać, mimo że lider wciąż przyjmuje zapisy.
acks=allimin.insync.replicas— dokładna zależność między nimi: dlaczego producent nadal zapisuje po śmierci jednego brokera, ale zaczyna dostawaćNotEnoughReplicaspo drugim.- Wybór lidera — która replika przejmuje rolę po awarii i dlaczego musi pochodzić z ISR.
- Nieczysty wybór lidera — co realnie tracimy, pozwalając replice spoza synchronizacji zostać liderem, obserwowane offset po offsecie.
To moduł, dla którego uwidocznienia zbudowano cały symulator. Interesujące zachowania żyją wyłącznie w przejściach — przed i po śmierci brokera, przed i po zmianie ISR — a właśnie tych przejść tablica pokazać nie potrafi.
Nowość w trybie swobodnym: topologia active/passive
v1.3 otwiera też pierwszy kształt wielo-datacenterowy w piaskownicy trybu swobodnego: active/passive — dwa regiony, jednokierunkowy mirror i failover, który uruchamiasz na żądanie. To najprostszy sposób, by zobaczyć, jak replikacja przestaje być sprawą wewnątrz jednego klastra.
Program nauczania DR — MirrorMaker 2, translacja offsetów, failback — przyjdzie później, w v1.8. To jest piaskownica, odblokowana wcześnie celowo: z tym kształtem warto się pobawić na długo przed scenariuszami, które go tłumaczą. Każdy z trzech kolejnych pakietów dokłada jedną topologię.
Dlaczego replikacja jest kotwicą
Producenci i konsumenci stoją na tych gwarancjach; pamięć masowa, transakcje i multi-DC je rozszerzają. Gdy raz zobaczysz, jak porusza się ISR i jak trzyma się high watermark, reszta programu okazuje się serią wariacji na temat systemu, który już rozumiesz.
Otwórz symulator, ustaw RF=3 i min.insync.replicas=2 i zacznij zabijać brokery.