Конференция завершена. Ждем вас на HighLoad++ в следующий раз!

Кэш в оперативной памяти своими руками

GolangConf: Hardcore

GolangConf: Hardcore

Организация системы кеширования
Оптимизация производительности
Алгоритмы и их сравнение
GO

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

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

Что делать, когда поход во внешний кэш начинает занимать значительную часть времени ответа сервиса? Перенести кэш внутрь приложения! О подводных камнях этого решения мы и поговорим в рамках доклада.

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

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

Тезисы

Что делать, когда вам нужно отвечать настолько быстро, что позволить себе ~1-3 ms для похода в Redis за кэшем — это очень дорого? Можно же хранить кэш прямо в памяти приложения. Но тогда встают вопросы:
* Память кончается, надо что-то выбросить из кэша! Но что именно?
* Как обновлять значения в кэше так, чтобы не завалить внешние ресурсы большой нагрузкой (предотвратить эффект Cache Stampede)?
* Если приложение распределенное, и нам подобный кэш надо держать согласованным, то каким образом это сделать (согласованность кэшей)?

В докладе постараемся дать ответы на эти и некоторые другие вопросы про построение кэшей в оперативной памяти приложения.

Владислав Сидорин — техлид одной из команд Работы.ру. Программирует на разных языках уже 17 лет, 8 из них провел в геймдеве. Больше всего любит заниматься оптимизацией программ.

Работа.ру

Работа.ру — один из ведущих российских сервисов для поиска работы и сотрудников. В последний год круто выросла команда и экспертиза.

Видео