Как спроектировать кэш-библиотеку следующего поколения и не умереть?

Через тернии к...

Организация системы кеширования
Оптимизация производительности
Разработка библиотек, включая open source библиотеки
GO

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

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

Программисты на Go — от мидла до рокстара. Все найдут что-то новое для себя в этом докладе.

Тезисы

В докладе расскажу о своем опыте создания кэш-библиотеки, трудностях и приключениях этого процесса. Обсудим как общие вопросы, вроде «Зачем нужна ещё одна библиотека?», так и прикладные вещи вроде:

* Как выбрать политику вытеснения?
* Как определиться с хэш-таблицей?
* Почему lock-free – не всегда быстро?
* Как быть, если глобальная блокировка кеша - слишком медленно?

Работает в Авито, программирует на Go, любит контрибьютить в опенсорс.

Авито

На Авито каждый может найти что-то своё среди миллионов частных объявлений и предложений компаний по всей России: от квартиры и автомобиля до работы и кандидатов на вакансии. Сервис делают 800 инженеров. У них небольшой монолит на PHP, больше тысячи микросервисов на Go и Python, фронтенд на JavaScript, базы данных PostgreSQL, MongoDB и Redis, автоматические тесты, обученная на данных система модерации и поисковый движок Sphinx. Продуктом Авито каждый месяц пользуется треть населения России.

Видео