MySQL-кластери та реплікація
(Розділ: Технології та Інфраструктура)
Коротке резюме
MySQL залишається одним з основних контурів «системи правди» для грошей, KYC і бекофісних даних. Для iGaming-навантажень потрібні: сувора узгодженість грошових транзакцій, висока доступність, контрольований lag і зрозумілий DR-план. Базовий стек: MySQL 8 + InnoDB, ROW-binlog + GTID, semi-sync на критичних шляхах, Group Replication/InnoDB Cluster для HA, ProxySQL/MySQL Router для маршрутизації, регулярні бекапи + PITR.
Архітектурні патерни
1) Primary-Replica (класика)
Primary приймає записи; replica читають і страхують DR.
Реплікація: ROW-формат binlog, GTID включений.
Для грошових екранів - читання з primary або строго контрольований read-after-write.
2) Semi-sync над Primary–Replica
Первинний коміт чекає хоча б один запис на репліку → RPO≈0 -1 подія при відмові.
Ціна - невелика надбавка латентності на запис.
3) MySQL Group Replication (GR) / InnoDB Cluster
Кворумна кластеризація (сертифікація транзакцій), режими:- Single-Primary: один вузол пише, інші - читають (рекомендовано для грошей).
- Multi-Primary: запис на декількох - тільки для низькоконфліктних доменів.
- MySQL Router роздає підключення; ClusterSet - мульти-регіональний DR.
4) Шардинг/поліглот
Вертикально масштабуємо ядро грошей, а для історій/логів - винос в OLAP/NoSQL.