Садржај поста
Продолжая тему надёжности. Хочется поговорить про георезервирование и устойчивость системы к отключению одного дата-центра (ДЦ). Наверное, ни для кого не секрет, что в современном мире запускать приложения на одном сервере — не самая лучшая практика. Соответственно, сейчас все сервисы стараются запускать минимум в 2-3 инстансах с разделением по серверам, а ещё лучше — с разделением по физическим стойкам в ДЦ. Такая схема в целом хорошо работает, но, увы, ДЦ — вещь такая, что периодически выходят из строя. В моей карьере я могу насчитать 5 случаев, когда по той или иной причине отключался весь ДЦ или же стойки, в которых расположены сервисы. Поэтому хорошей практикой считается разворачивать сервисы в разных ДЦ. Благо в современном мире есть множество инструментов для организации подобных вещей: начиная от готовых облачных решений и заканчивая распределёнными кластерами Kubernetes. Но при работе распределённых систем, особенно когда они находятся в разных ДЦ, начинают всплывать нюансы, о которых стоит подумать. Например: ▪️ работа с базами данных ▪️распределение нагрузки между ДЦ ▪️ рост таймингов запросов на взаимодействие между смежными сервисами Зато ваше приложение становится надёжнее и устойчивее к различным отключениям, а также появляется возможность играться с балансировкой трафика. Как часто вы задумываетесь о надёжности ваших приложений? С какими трудностями вы сталкивались и как их решали?