Оптимизация обработки изображений в социальной сети

Социальная сеть «Одноклассники» обрабатывает огромные объемы изображений, требуя надежной инфраструктуры. Изначально, при загрузке фото генерировалось несколько размеров, но это стало избыточным. Для решения проблемы была введена система, где при загрузке создается только два размера, а остальные генерируются по запросу.
Оптимизация обработки изображений в социальной сети
Изображение носит иллюстративный характер

Теперь, когда пользователь запрашивает изображение, запрос обрабатывается диспетчером. Если нужный размер изображения есть в кеше, он отдается сразу. Если размера нет, то диспетчер отправляет запрос в сервис-трансформер. Трансформер, с использованием библиотеки IPP, генерирует нужный размер и помещает в кеш. Это позволяет экономить ресурсы и поддерживать актуальность размеров изображений.

Blob Cache, распределённый кеш бинарных данных, хранит обработанные изображения на дисках, разбитых на сегменты. Каждый сегмент содержит пары ключ-значение, заголовок с информацией о сегменте и список ключей для быстрого поиска. Индекс Lookup в off-heap пространстве, с применением Unsafe, обеспечивает быстрый доступ к данным.

CDN обеспечивает быструю доставку контента, размещая прокси-серверы ближе к пользователям. Выбор CDN-площадки основывается на данных BGP, обеспечивая минимальный пинг. Вся сложная система оптимизирует работу с изображениями, улучшая пользовательский опыт.


Новое на сайте

20965Что делать с уязвимым SonicWall GMS без будущих обновлений? 20964Как ошибка APT позволяет подменить пакет и получить root-доступ? 20963Могут ли две уязвимости Xen открыть одной виртуальной машине память всего хоста? 20962Как рекламный промпт проник в настройки OpenAI Codex? 20960Apple начнёт проверять публичные ссылки на файлы в iCloud 20959Что известно о предупреждении mSecure и какие меры принять? 20958Как LLMjacking превращает корпоративные ИИ-ресурсы в чужой бизнес? 20957Что делать администраторам cPGuard после взлома канала обновлений? 20956Бэкдор в телевизоре: как Google остановила сеть из 1,3 млн Android-устройств 20955Кто может получить доступ к кошелькам через плагин CryptoPayment Gateway? 20954Критическая уязвимость Siemens IoT2050 открыла путь к удалённым командам 20953Взлом Chainstack: под угрозой оказались данные клиентов и хеши паролей 20952Четыре проверки, которые помогают найти уязвимости с реальным риском 20951Две уязвимости Barracuda открывают путь к root-доступу
Ссылка