Назад | Перейти на главную страницу

Обслуживание сервера nginx с нулевым временем простоя

Я управляю несколькими серверами, и давайте рассмотрим эти три:

Эта установка позволяет нам выполнять техническое обслуживание с нулевым временем простоя. То же самое и с обновлениями. Если мы хотим добавить больше памяти к серверу базы данных, мы просто запускаем новый экземпляр, физически клонируем базу данных и уничтожаем старый сервер.

Примерно то же самое можно сделать с сервером API. Однако рано или поздно нам потребуется обновить сервер nginx. Как это сделать без простоев, если обновления требуют отключения? Экземпляр nginx должен иметь фиксированный IP-адрес для доступа из внешнего мира.

Одна из возможностей - установить второй сервер nginx и настроить оставайся живым на них обоих.

Каждый сервер имеет свой уникальный IP-адрес. Кроме того, keepalived позволяет вам определять плавающий IP-адрес, который используется обоими серверами. Этот плавающий адрес активен только на одном сервере в любое время. При выключении поддержки активности на активном сервере плавающий IP-адрес автоматически становится активным на другом сервере. То же самое происходит, если сервер выключен или вылетает по какой-либо причине.

Это позволяет выполнять обслуживание веб-серверов, не прерывая работу.

Просто сосредоточьтесь на VRRP части keepalived и не позволяйте себе отвлекаться на балансировку нагрузки и другие необычные функции, поскольку они вам, вероятно, не понадобятся на данном этапе. Возможно, вам также понадобится сценарий уведомления, который вызывается при добавлении или удалении плавающего IP-адреса, чтобы вы могли перезагрузить nginx, чтобы убедиться, что он прослушивает новый IP-адрес.