Ранее, рассказал про Ubuntu One Pro, для установки и обновления критических компонентов сервера на Ubuntu, сегодня хочу поделиться тем, как правильно распределять трафик и нагрузку вашего сервиса, по нескольким серверам.
Рассмотрим на открытом примере, где это реализовано - КЛО BoostRouter 🧡 Совсем если говорить условно, у вас в кабинете кло есть 1 файл интеграции - по стандартам это index.php который вы размещаете на разных сайта, меняя внутри него ГЕО и ссылку на оффер.
И у меня, как у разработчика этого продукта, встает несколько вопросов:
- Как минимизировать риски на случай каких то работ или перезагрузки основного сервера, на котором висит весь бек кло.
- Как улучшить скорость обработки кликов и сделать ее той, какая она сейчас <50ms
- Как оптимально распределить нагрузку, если завтра люди опомнятся и перейдут с адспекта ко мне - то есть непрогнозируемый большой поток новых юзеров...
Ответ очевиден - нам нужно несколько серверов по всему миру. Это решает вопросы и с пингом, и с отказами и с масштабируемостью. Как синхронить данные между ними особо обьяснять не буду, инфы много. А вот для распределения нагрузки, для определения гео и отказов есть очень отличный продукт от cloudflare и называется он Load Balancing
Когда уходит запрос по апи из файла кло index.php на сервер где размещена КЛО, Cloudflare решает на какой сервер отправить этот запрос. Для наглядности как это работает:
Залетели мы например в Ашан - Если: первая касса перегружена вторая сломалась третья свободна
то людей автоматически отправляют: либо в менее загруженную кассу либо в ближайшую либо в рабочую
Вот это и есть Load Balancing. То есть это инструмент, который помогает нам держать наши сайты и сервисы всегда в онлайне, правильно распределять нагрузку и выдерживать много трафика.
Продолжаю раскрывать внутрянку своей кло и жду вас на тесты 🫶
В этом посте были ссылки, но мы их удалили по правилам Сетки