5. Распределение нагрузки (Scale-Out)
Master Server Slave Server
Writes
Index &
Bin Log
Rotation
Writes
MySQL Replication
Reads
Possible Roles
• Fail over server
• Used for performing backups
• Read/Write load balancing
• Additional slaves allow Scale-Out
BackupsBackups
Writes & Reads
Web/App
Server
Web/App
Server
6. Отказоустойчивость (Fail Over)
Master Server Slave Server
Writes
Index &
Bin Log
Rotation
Writes
MySQL Replication
Reads
Possible Roles
• Fail over server
• Used for performing backups
• Read/Write load balancing
• Additional slaves allow Scale-Out
BackupsBackups
Web/App
Server
Web/App
Server
Manual
Fail Over
X
X
X
Fail Over
7. Linux Heartbeat, DRBD & MySQL
= Private IP =
10.10.10.21
Active Server Passive Server
= Private IP =
10.10.10.20
Primary DRBD Secondary DRBD
DRBD
Linux Heartbeat
= Virtual IP =
10.10.10.10
Web/App
Server
Web/App
Server
8. = Private IP =
10.10.10.21
Active Server Passive Server
= Private IP =
10.10.10.20
DRBD
Primary DRBD Secondary DRBD
X
X
Active
Primary DRBD
X
Linux Heartbeat
= Virtual IP =
10.10.10.10
Web/App
Server
Web/App
Server
Linux Heartbeat, DRBD & MySQL
10. Архитектура данных в кластере
• Four Data Nodes
• Two Replicas
• Two Node Groups
8ChinaBeijing8
2NorwayOslo7
4RussiaMoscow6
2GreeceAthens5
9JapanTokyo4
-5USANew York City3
2GermanyBerlin2
2DenmarkCopenhagen1
UTCCountryCapitalID
8ChinaBeijing8
2NorwayOslo7
4RussiaMoscow6
2GreeceAthens5
9JapanTokyo4
-5USANew York City3
2GermanyBerlin2
2DenmarkCopenhagen1
UTCCountryCapitalID
Partition 1
Partition 2
Partition 3
Partition 4
Data
Node
Data
Node
P1-Primary
P2-Secondary
P1-Secondary
P2-Primary
Data
Node
Data
Node
Node Group 1
Data
Node
Data
Node
P3-Primary
P4-Secondary
P3-Secondary
P4-Primary
Data
Node
Data
Node
Node Group 2
14. Решение: Репликация Master/Slave
• Преимущества
– Чтение с любого сервера
– распределение нагрузки
– Простота установки
– Отказоустойчивость ~99.9% (3 девятки)
• Недостатки: Асинхронная репликация (!)
– Slave может не получить изменения вовремя
– Записываем, читаем записанное со Slave –
Oooops!
– Запись – ТОЛЬКО на Master
Master Slave
Asynchronous
MySQL
Replication
15. Решениe: Master и много Slaves
• Master может иметь много Slaves
• Чтение данных (select) – 4-5 девяток (HA)
• Распределение нагрузки – чтение с любого slaves
• Увеличилась нагрузка – добавим Slave
• Сложные запросы (отчеты) – гоняем на Slave
• Backup
Master
Slave 1 Slave 4
Slave 3Slave 2
16. Репликация Master-Master
• Преимущества
• Чтение с любого сервера
• Простота установки
• Отказоустойчивость (осторожно!)
• Надежность на уровне ~99.9%
• Недостатки
• Нет распределения нагрузки для записи
• При отказе – потеря транзакций!
Master 1 Master 2
17. Pattern: Ring Replication
• Недостатки
– Легко ломается – сложно востановить данные
– Запись на Master 4 придет после записи на Master
3
• Не рекомендуется
Master 1 Master 3
Master 2 Master 4
Asynchronous
MySQL
Replication
18. Решение: DRBD и Slaves для
чтения
• Отказоустойчивость для Master
• Чтение с любого Slave
• Slave автоматически пере-подключаются после
сбоя мастера
Hot Primary Warm SecondarySynchronous
DRBD
Replication
Master Pair
23. The presentation is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.