HighLoad для "маленьких"

Архитектуры и масштабируемость

Эволюция больших архитектур

Бэкенд / другое
Асинхронное программирование, реактивное программирование
Отказоустойчивость
Оптимизация производительности
Масштабирование с нуля
ClickHouse
Удаленная работа
Микросервисы

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Редко увидишь примеры сложных архитектур, реализованных "как по учебнику". У ребят получилось сделать систему, которая реализована по принципу Space based-архитектуры, и при этом сложный архитектурный паттерн выбран не ради хайпа, а обусловлен реальными задачами и требованиями бизнеса.

Целевая аудитория

Технические специалисты, работающие в небольших компаниях и желающие реализовать высоконагруженные решения.

Тезисы

MediaSniper за 8 лет прошел путь от пустого репозитория до одной из ведущих рекламных платформ в России.
Когда у вас небольшой стартап и нет бесконечных аппаратных ресурсов, приходится очень тщательно принимать технические решения. Нельзя просто взять проект с github, дописать к нему немного кода и надеяться, что этого достаточно для обработки сотен тысяч RPS.

Задача платформы — отвечать на http-запрос с задержкой не более 50 мс и обслуживать тысячи запросов в секунду (сейчас более 500 000 RPS). В докладе мы покажем, какие решения принимали в области архитектуры, системного ПО, инфраструктуры и, собственно, разработки.

* Собственные сервера + docker, чтобы нивелировать различия в установленных версиях ОС и пакетов.
* Мы любим микросервисы и shared nothing и стараемся избегать решений с единой точкой отказа. Все, что можно задублировать — должно быть задублировано.
* KV БД Aerospike — наш главный помощник. Невозможно или слишком дорого держать вообще всю рабочую информацию на каждой ноде.
* Своя библиотека для асинхронного http client/server позволяет мультиплексировать запросы и заполнять канал, экономя соединения. Мы, как и большинство, все еще живем в мире http 1.1.
* Своя библиотека для map/reduce, чтобы обрабатывать 40 Тб данных в сутки.
* У нас нет silver bullet, мы просто хотим поделиться радостью, что оно работает :)

Директор по разработке высоконагруженных сервисов. Более 15 лет опыта работы над enterprise- и open source-решениями. C++- и Go-разработчик.

MediaSniper

MediaSniper — система автоматизированной закупки медийной рекламы, оптимизирующаяся на достижение заданных KPI в режиме реального времени.

Видео

Другие доклады секции

Архитектуры и масштабируемость