Резервные серверы не могут обращаться к другим резервным серверам — только к текущему главному серверу. При попытке подключения к другому главному серверу резервный сервер получит сообщение об ошибке. Архитектура потоковой репликации такова, что для каждого резервного сервера на главном сервере создается один процесс WALSender, а на резервном сервере — процесс WALReceiver. Репликация — очень эффективный способ передачи данных, информация в основном передается фрагментами по 8192 байта без буферизации на сетевом уровне. Процессы WALSender и WALReceiver будут пересылать и принимать данные, пока очередь не опустеет. Когда данные не передаются, WALReceiver «засыпает» на 100 мс, a WALSender — на время, установленное в параметре wai_sender_deiay. Обычно это значение не меняют, так как оно влияет лишь на поведение сервера в периоды бездействия. Стандартное значение дает хороший баланс между эффективностью и защитой данных. Если соединение между главным сервером и резервным низкоскоростное, а частота записи на главном сервере высока, можно уменьшить значение wai_sender_deiay до 20-50 мс. Это позволяет снизить потери данных в случае, если главный сервер станет недоступен, но несколько повышает затраты ресурсов на передачу логов резервным серверам. Резервный сервер соединяется с главным, используя специфичную для PostgreSQL библиотеку Llbpq.
Рубрика: Женский интерес