старинный сервер (виртуалка), который все боятся трогать, чтобы ничего не упало. там бежит пара публичных сайтов, принимающих оплату. всё на одном сервере: база, бэкэнд, сервисы всякие. всё это привязано к домену по A записи, никакого балансировщика перед этим нет. на этом сервере всё как-то криво-косо, что-то в докере, что-то ещё как-то.
есть желание сделать новый сервак и там всё сделать по красоте. ну или несколько серверов, кьюбернетис, микросервисы и вот это вот всё. но проблема в моменте переключения со старого сервера на новый, если просто изменить A запись доменов и поддоменов, то у DNS есть некоторое время пропагейшена, т.е. некоторые запросы ещё будут приходить на старый сервер, а некоторые на новый, и пойдут расхождения в базе между старым и новым.
пока вижу два варианта:
1) поставить некий прокси перед всем вот этим делам, у которого будет переключалка "перевести все запросы на новый сервер"
а) изменить A записи на этот прокси
б) запросы пока идут на старый сервер
в) скопировать базу со старого на новый
г) переключить через прокси все запросы на новый сервер
д) изменить А записи на новый сервер
2) изменить TTL A записей на 1 секунду и через пару дней переключить сами A записи на новый сервер
вот кто бы как сделал?
1, только не копировать базу, а сделать репликацию оттуда или мастер-слейв
nginx впереди поставь, на новый сервер, но все перенапрявляй на старый. Когда наступит время Ч, перебросишь все запросы на новый конфигрурацией nginx
Обсуждают сегодня