Технология построения защищенных распределенных приложений



Pdf көрінісі
бет10/30
Дата05.02.2024
өлшемі0.74 Mb.
#490871
түріРеферат
1   ...   6   7   8   9   10   11   12   13   ...   30
Хадуп

2.2.2 Master-slave репликация 
В этом подходе выделяется один основной сервер базы данных, который 
называется ведущим. На нем происходят все изменения в данных (любые 
запросы MySQL INSERT/UPDATE/DELETE). Ведомый сервер постоянно 
копирует все изменения с Мастера. С приложения на ведомый сервер 
отправляются запросы чтения данных (запросы SELECT). Таким образом, 


22 
ведущий сервер отвечает за изменения данных, а ведомый за чтение 
(рисунок 3).
Рисунок 3 — Master-slave репликация 
В приложении нужно использовать два соединения — одно для ведущего 
сервера, второе для ведомого. 
$master = mysql_connect('10.10.0.1', 'root', 'pwd'); 
$slave = mysql_connect('10.10.0.2', 'root', 'pwd'); 
# ... 
mysql_query('INSERT INTO users ...', $master); 
# ... 
$q = mysql_query('SELECT * FROM photos ...', $slave); 
# Используем два соединения для записи и чтения соответственно 
2.2.3 Master-slave репликация на несколько slave серверов 
Преимущество этого типа репликации в том, что можно использовать 
более одного ведомого сервера. Обычно следует использовать не более 20 
ведомых серверов при работе с одним ведущим (рисунок 4). 
Рисунок 4 — Master-slave репликация на несколько slave серверов 
запись 
PHP 
ведомый 
MySQL
чтение 
ведомый 
MySQL 
ведомый 
MySQL
чтение 
чтение 
ведущий 
MySQL 
чтение 
ведущий 
MySQL 
PHP 
ведомый 
MySQL
чтение 
чтение 
запись 
10.10.0.1 
10.10.0.2


23 
Тогда в приложении один из ведомых серверов выбирается для обработки 
запросов случайным образом: 
$master = mysql_connect('10.10.0.1', 'root', 'pwd'); 
$slaves = [ 
'10.10.0.2', 
'10.10.0.3', 
'10.10.0.4', 
]; 
$slave = mysql_connect($slaves[array_rand($slaves)], 'root', 'pwd'); 
# ... 
mysql_query('INSERT INTO users ...', $master); 
# ... 
$q = mysql_query('SELECT * FROM photos ...', $slave); 


Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   ...   30




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет