Да, просто протестируйте обработку отказа и возврат к состоянию до сбоя, и удостоверьтесь, что Вы находитесь в рабочем режиме зеркального отражения, который Вы хотите. Может быть большой компромисс между отказоустойчивостью и производительностью с транзакционной безопасностью, полной по сравнению с транзакционной безопасностью прочь. Вы также могли бы хотеть изучить обновление строк подключения Ваших приложений, чтобы быть осведомленными о зеркальном отражении, если Вы хотите, чтобы они снова соединились автоматически после обработки отказа.
Если Вы конкретно используете file_get_contents
необходимо использовать stream_create_context
вызов функции создать контекст и связать его с определенным IP Вы хотите. Что-то вроде этого:
$opts = array(
'socket' => array(
'bindto' => '192.168.0.100:0',
),
);
$context = stream_context_create($opts);
echo file_get_contents('http://whatismyip.com', false, $context);
Это позволит Вам управлять, какой IP используется для исходящего соединения.
Править: см. http://www.php.net/manual/en/context.socket.php для большего количества детали.
1) Необходимо зарегистрировать домены для указания на IP-адреса, которые Вы хотите со своим поставщиком DNS:
host1.com-> 10.1.1.1 host2.com-> 10.1.1.2 host3.com-> 10.1.1.3 host4.com-> 10.1.1.4
2) Попытайтесь создать виртуальные хосты в апаче как это: но создайте одну виртуальную запись хоста для каждого IP так, чтобы Вы закончили с 4 виртуальными хостами.
<VirtualHost 10.1.1.1>
ServerAdmin webmaster@host1.com
DocumentRoot /var/www/html/host1.com
ServerName host1.com
ErrorLog /var/log/httpd/host1.com-error_log
TransferLog /var/log/httpd/host1.com-access_log
</VirtualHost>