Figma анонсировала запуск FigCache, собственного прокси-сервиса для Redis, который обеспечивает 99,9999% времени безотказной работы. Разработка позволила улучшить доступность и производительность платформы, что является критически важным для эффективной работы с клиентами.
Обстановка на рынке
Кроссплатформенные инструменты, такие как Figma, постоянно сталкиваются с растущими требованиями к производительности и доступности. Большинство таких сервисов используют облачные решения, что создаёт вызовы для управления нагрузкой. В случае с Figma несколько факторов определили необходимость создания нового прокси — это увеличивающаяся нагрузка и разнообразие клиентских библиотек.
Причины для создания FigCache
По словам инженера-программного обеспечения Кевина Лина, FigCache был разработан после того, как был выявлен риск падения доступности из-за недостатков в предыдущих решениях. «С увеличением объёмов соединений мы столкнулись с риском перегруженности Redis и ухудшением доступности», — отметил он.
Перед разработкой FigCache команда Figma пыталась использовать существующие решения, однако они не удовлетворяли специфическим требованиям. Это привело к выбору создания собственных решений, позволяющих обрабатывать все возможные варианты соединений и запросов. Например, FigCache обеспечивает имитацию Redis-кластера, что позволяет работать с клиентами, отдающими предпочтение кластерной архитектуре.
Технические детали FigCache
FigCache построен на библиотеке ResPC, разработанной командой Figma, и функционирует между клиентскими приложениями и кластерами Redis на AWS ElastiCache. Архитектура прокси разделяет управление соединениями и выполнение команд, что позволяет легко вносить изменения и расширять функциональность.
Система предназначена для обеспечения высокой производительности даже при увеличении объёмов запросов. Благодаря этой модульной структуре FigCache демонстрирует большую устойчивость к сбоям и возможность масштабирования, что делает его идеальным для современных веб-приложений.
Значение для разработчиков
Для разработчиков FigCache представляет собой важный шаг в унификации и улучшении доступности сервисов. Возможность поддерживать высокий уровень времени безотказной работы, как 99,9999%, значит, что компании могут рассчитывать на надежность своих приложений и сохранение уровня обслуживания пользователей.
Следующий шаг для Figma — расширение возможностей FigCache, а также анализ его влияния на общую инфраструктуру. Ожидается, что это решение станет основой для дальнейших усовершенствований в работе с данными и повышения качества пользовательского опыта.