Социальная сеть «Одноклассники» обрабатывает огромные объемы изображений, требуя надежной инфраструктуры. Изначально, при загрузке фото генерировалось несколько размеров, но это стало избыточным. Для решения проблемы была введена система, где при загрузке создается только два размера, а остальные генерируются по запросу.
Теперь, когда пользователь запрашивает изображение, запрос обрабатывается диспетчером. Если нужный размер изображения есть в кеше, он отдается сразу. Если размера нет, то диспетчер отправляет запрос в сервис-трансформер. Трансформер, с использованием библиотеки IPP, генерирует нужный размер и помещает в кеш. Это позволяет экономить ресурсы и поддерживать актуальность размеров изображений.
Blob Cache, распределённый кеш бинарных данных, хранит обработанные изображения на дисках, разбитых на сегменты. Каждый сегмент содержит пары ключ-значение, заголовок с информацией о сегменте и список ключей для быстрого поиска. Индекс Lookup в off-heap пространстве, с применением Unsafe, обеспечивает быстрый доступ к данным.
CDN обеспечивает быструю доставку контента, размещая прокси-серверы ближе к пользователям. Выбор CDN-площадки основывается на данных BGP, обеспечивая минимальный пинг. Вся сложная система оптимизирует работу с изображениями, улучшая пользовательский опыт.
Изображение носит иллюстративный характер
Теперь, когда пользователь запрашивает изображение, запрос обрабатывается диспетчером. Если нужный размер изображения есть в кеше, он отдается сразу. Если размера нет, то диспетчер отправляет запрос в сервис-трансформер. Трансформер, с использованием библиотеки IPP, генерирует нужный размер и помещает в кеш. Это позволяет экономить ресурсы и поддерживать актуальность размеров изображений.
Blob Cache, распределённый кеш бинарных данных, хранит обработанные изображения на дисках, разбитых на сегменты. Каждый сегмент содержит пары ключ-значение, заголовок с информацией о сегменте и список ключей для быстрого поиска. Индекс Lookup в off-heap пространстве, с применением Unsafe, обеспечивает быстрый доступ к данным.
CDN обеспечивает быструю доставку контента, размещая прокси-серверы ближе к пользователям. Выбор CDN-площадки основывается на данных BGP, обеспечивая минимальный пинг. Вся сложная система оптимизирует работу с изображениями, улучшая пользовательский опыт.