Percona разрабатывает Valkey-proxy — прокси-сервер с открытым исходным кодом, предназначенный для устранения одного из главных препятствий при переносе устаревших приложений с Redis на кластеры Valkey. Идея заключается в размещении промежуточного слоя между приложением и кластером Valkey, чтобы приложения, предполагающие наличие одного экземпляра Redis, продолжали работать без масштабной переработки кода для взаимодействия с несколькими узлами, маршрутизацией и различиями в некоторых командах.
Почему возникла необходимость в прокси-сервере?
Изменение Redis лицензии в 2024 году — с либеральной лицензии BSD на проприетарные лицензии и лицензии с доступным исходным кодом — привело к значительному расколу в сообществе проекта. Через несколько дней Linux Foundation запустила проект Valkey как форк с открытым исходным кодом. Хотя позднее Redis добавила лицензию AGPLv3 как вариант лицензии с открытым исходным кодом в 2025 году, Valkey продолжила развиваться с независимым управлением и другой лицензией.
Многие приложения используют Redis как хранилище данных в памяти для кэширования и рабочих нагрузок, требующих быстрого доступа. Однако перенос приложения, созданного для работы с одним экземпляром, в Valkey Cluster обычно требует понимания работы с несколькими узлами, механизмов маршрутизации и поведения некоторых команд. Коммерческие продукты Redis и некоторые облачные сервисы предоставляют прокси-слои для этой задачи, однако пользователям, которые самостоятельно управляют Valkey, по словам Percona, не хватало эквивалентного варианта с открытым исходным кодом.
Что предлагает Valkey-proxy?
Прокси-сервер призван скрыть от приложения сложности кластера, позволяя существующим приложениям подключаться к кластеру Valkey без переписывания для непосредственной работы с несколькими узлами. Kyle Davis, генеральный директор направления Redis и Valkey в Percona, заявил, что отсутствие подходящего решения с открытым исходным кодом было одним из последних крупных препятствий для более широкого внедрения Valkey.
Davis отметил, что другие инструменты, например Envoy, не понимают протокол Valkey полностью и не управляют подключениями таким образом, чтобы поддерживать все возможности проекта. Поэтому Valkey-proxy ориентирован на уровень устаревших приложений, находящийся между зависимостью от одного экземпляра Redis и необходимостью масштабируемой кластерной архитектуры.
Кому это будет полезно и каковы границы плана?
Проект может быть полезен компаниям, которые самостоятельно управляют своей инфраструктурой, включая локальные среды: от небольших организаций с ограниченными ресурсами до финансовых учреждений, которым необходим больший контроль над местом размещения инфраструктуры обработки данных и требованиями к соблюдению нормативов.
Percona разработала первую версию внутри компании, однако в конце сентября получила одобрение на включение Valkey-proxy в проект Valkey и перенос кода из частных репозиториев в публичный проект. Полностью опубликовать исходный код планируется до конца октября 2026 года, затем в декабре выпустить кандидат-релиз, а общедоступный выпуск намечен на начало 2027 года.
Freshworks станет одним из первых пользователей: компания работает с Percona как ранний пользователь и партнёр по проектированию, чтобы выявлять особые случаи во время тестирования. Вклад крупных облачных компаний, таких как AWS, также остаётся возможным, но не является официально заявленным обязательством.
Редакционный анализ: что меняется на практике?
Valkey-proxy сам по себе не предлагает новую альтернативу базам данных, а снижает стоимость архитектурного перехода от модели с одним экземпляром Redis к Valkey Cluster. Его значение заключается в обеспечении совместимости приложений — практической проблеме, которая может оказаться сложнее, чем сама замена механизма базы данных. Однако проект пока не выпущен публично; поэтому реальные испытания определят, насколько полно он охватывает команды и поведение различных приложений. Качество совместимости, производительность и вклад сообщества также останутся открытыми вопросами до выхода общедоступных версий.