Это рассказ о том, как как мы решили продуктовую задачу по быстрой фильтрации модификаций в каталогах: начиная от сбора требований до финального решения на продакшене.
В процессе расскажу о контексте и проблематике с которой столкнулись, функциональных и нефункциональных требованиях к ручкам фильтрации. Также какие решения и алгоритмы мы рассматривали, их эволюцию от MVP до production ready (как решение «в лоб» эволюционировало в достаточно эффективный алгоритм основанный на битмап индексах).
В конце поделюсь тем, каких результатов нам удалось добиться, какие есть плюсы и минусы у выбранного подхода, а также о дальнейших шагах в поддержке данного решения.
В качестве основного хранилища мы используем MongoDB, и у нас одна из самых больших инсталляций в Европе. В своем докладе я расскажу об особенностях топологии наших кластеров, о наших инструментах мониторинга на базе Prometheus и Elasticsearch, работе с бэкапами и о автоматизации развертывания и обслуживания кластеров MongoDB со множеством инстансов. Расскажу о том, как доработали серверы с базами данных, о наших кастомных инструментах для проверки «здоровья» кластеров для повышения отказоустойчивости, а также покажу, какой разработали инструментарий для работы с Terraform.
Если ваш прод уже давно представляет собой большую и запутанную систему из множества сервисов, то, наверняка перед вами неоднократно вставал вопрос: «Что-то все лагает; как бы сделать побыстрее?». Вот и перед нами он встал. Но стандартные средства поиска узких мест (такие как сбор метрик, профилирование и просмотр Jaeger-трейсов), к сожалению, не особо помогают понять, что же конкретно надо делать прямо сейчас.
В процессе решения этой проблемы мы разработали библиотеку для анализа больших объемов Jaeger-трейсов, позволяющую не только искать потенциальные узкие места, но и заранее оценивать эффект от потенциальных оптимизаций. Про нее я и расскажу в докладе.
***
На митапе будет вестись видеозапись докладов. Отчет о митапе и записи выложим в блоге Joom на Хабре.
Напоминаем, что для того чтобы восстановить билет организатору можно не писать.
Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.