На докладе расскажу о технических особенностях индексирования писем в почте Mail. ru. Остановлюсь на проблемах, с которыми столкнулись, и как эти проблемы решали.
Наши задачи:
* эффективная утилизация аппаратных ресурсов: уменьшение IOPS на терабайт хранилища, CPU — уменьшение % загруженности ядер;
* уменьшение и, как следствие, удешевление инфраструктуры без потери качества сервиса за счет более эффективной утилизации аппаратных ресурсов;
* обеспечение SLA на уровне 99.999%;
* автоматическое сохранение полноценного рабочего состояния сервиса при отключении дата-центра.
Архитектура хранения почты эволюционировала и адаптировалась к обновляющимся требованиям пользователей. Количество ящиков и писем в них растет в каждый момент времени, индексы ящиков и писем, хранящихся в них, не помещаются в память. В этом контексте расскажу о том, как шардируются ящики, как данные в ящике всегда остаются консистентными и как происходит кэширование и перестроение индексов почты.