Ho provato quei 2 casi qualche tempo fa e non sotto carico pesante. Ho un produttore che invia messaggi 10k (solo una piccola stringa) in modo sincrono a un argomento, con fattore di replica di 2, con 2 partizioni, su un cluster di 2 broker. Ci sono 2 consumatori. Ogni componente viene distribuito su una macchina separata. Quello che ho osservato è:
Il normale funzionamento: mediatore 1 è leader nella partizione 1 e replica sulla partizione 2. mediatore 2 è leader nella partizione 2 e replica sulla partizione 1. Portare un broker 3 in il cluster non attiva automaticamente il ribilanciamento delle partizioni.
Sul revival del broker (arresto anomalo del riavvio): il ribilanciamento è trasparente per il produttore e i consumatori. Il broker di riavvio replica prima il log e poi si rende disponibile.
Il mediatore si è schiantato (leader o no): simulato da un kill -9 su un qualsiasi broker. Il produttore e i consumatori vengono congelati fino alla scadenza del nodo effimero in ZK del broker ucciso. Successivamente, le operazioni vengono riprese normalmente.
fonte
2014-03-27 14:03:30