digital-garden/dev/architecture/highload/Групповая репликация.md

41 lines
2.5 KiB
Markdown
Raw Normal View History

---
aliases:
tags:
- maturity/🌱
date:
- - 2024-06-05
zero-link:
- "[[../../../meta/zero/00 HighLoad|00 HighLoad]]"
parents:
- "[[Репликация БД]]"
linked:
---
Работает как [Репликация master-master](Репликация%20master-master.md), но при количестве узлов больше 2
- Все транзакции чтения и записи фиксируются только после того, как они были одобрены группой.
- Read-only транзакции не требуют координации внутри группы и фиксируются немедленно
- Групповая репликация - eventual consistency система
![](../../../meta/files/images/Pasted%20image%2020240605091036.png)
## Консенсус
- Когда транзакция read-write готова к фиксации на исходном сервере, сервер атомарно передает значения записи (строки, которые были изменены) и соответствующий набор записи (уникальные идентификаторы строк, которые были обновлены).
- Транзакция отправляется через атомарную broadcast рассылку, транзакцию получают либо все серверы в группе, либо ни один.
- Если они его получат, то все они получат его в том же порядке относительно других транзакций, которые были отправлены ранее.
Таким образом, все серверы получают один и тот же набор транзакций в одном и том же порядке, и для транзакций устанавливается глобальный общий порядок.
## Дополнительные материалы
- [MySQL 20.1.1.2 Group Replication](https://dev.mysql.com/doc/refman/8.0/en/group-replication-summary.html)
***
## Мета информация
**Область**:: [[../../../meta/zero/00 HighLoad|00 HighLoad]]
**Родитель**:: [[Репликация БД]]
**Источник**::
**Автор**::
**Создана**:: [[2024-06-05]]
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->