76
Server / Re:K8s, PostgreSQL a replikace na tři nody
« kdy: 26. 01. 2023, 11:59:22 »Uplne vsetci na to idu zle.
Vymyslas ohybak na narovnavak.
Toto ti nebude fungovat spolahlivo a uz vobec to nebude skalovat. Co ked tych nodov budes potrebovat 25?
Chces master-less architekturu.
Odpoved je Apache Cassandra.
Su na to aj operatory.
snuff1987 tady chce sql databázi a ty mu doporučíš cassandru? Opravdu? Vždyť to je naprosto něco jiného a ještě poměrně složitého na provoz, nevím, proč v poslední době jí tolik lidí vytahuje z hrobu a snaží se na tom stavět projekty a pak si volají o pomoc, když jim to nejde. To je stejně slepá cesta jak mongo, hbase aj.
Nejspíš správné řešení je active-standby a asynchronní synchronizace na standby nody, to pg umí velice dobře. Failover není ve většině projektů tak častý, aby se to muselo řešit bez výpadkově a beztrátově. Odkázané řešení od bitnami, kde logiku failoveru řeší pg proxy není vůbec špatné (technicky, provozně) a pořád máš výhodnu plné sql databáze.
Master-master replikace je vyšší dívčí a v dynamickém prostředí (cloud, k8s, multisite) to nedělá dobroty. Stale stavy, konflikty, dead locky budou nastavát vždy a není snadné se s tím automaticky vypořádat, cena za nevýpadkový provoz jsou provozní výpadky, složitá logika v aplikaci, která vše maskuje a drahá údržba. Naproti tomu active-standby s pravidelnými snapshoty, notifikacemi na vysoký replication lag, udržováním spare instancí je snadné i pro průměrné vývojáře, dobře to funguje v prostředí cloudu a k8s jen s nevýhodou delších failover časů a možností ztráty dat při failoveru, jedná se ale o čerstvá data, která lze aplikačně ošetřit (wait for standby sync).
Samozřejmě, poku se snuff1987 to chce naučit, vyzkoušet si master-master je nejlepší cesta, uvidí co to obnáší a taková zkušenost je k nezaplacení. Pokud ale dělá komerční projekt, neměl by vymýšlet příliš komplexní řešení na hypotetické problémy, může se to vymstít.
.