master-slave replikace
Máš zkušenosti z produkce? Dá se u MySQL snadno slave povýšit na master (když master umře definitivně) a za běhu mu přidat nový slave? A jaké jsou zkušenosti z produkce, funguje to dobře? Nezakucká se to někdy kvůli replikaci?
Dá se přepnout snadno (stačí vypnout replikaci a MySQL se stane master, pro ostatní slavy je pak nejjednodušší to udělat změnou lokálního DNS). Funguje to spolehlivě, původní master je ale po obnově vhodné vymazat, nastavit jako slave a spustit synchronizaci, protože se málokdy dokáže srovnat s tím, že už není master. Zkoušel jsem i master-master replikaci, ale tam se to rozpadalo na můj vkus příliš často (replikace není ACID).
Docela by mě zajímalo, jaká přesněji úvaha za tímhle návrhem architektury byla. Má jenom umožnit updatování uzlů B a C s tím, že A se updatovat nebude vůbec (to není posměšek, může to klidně tak být)?
Aktualizace lze řešit třeba rotací uzlů.
Proti umření stroje jako takového (na nějaké nízké úrovni) to nechrání, protože pravděpodobnost umření A je potom stejná jako původního jednoho uzlu.
Ta pravděpodobnost umření není stejná, server často umře/vypadne na přetížení (uswapuje se, dojde RAM nebo místo na disku, deadlocknou se procesy ap.), vůči čemuž je proxy node, kde neběží koncová (a náročná) aplikace, mnohem odolnější.