Команда разработчиков из Microsoft Research представила Garnet — кроссплатформенный проект быстрого кэш-хранилища нового поколения с открытым исходным кодом для ускорения работы приложений и сервисов. Исходный код проекта Garnet опубликован на GitHub под лицензией MIT License.
В Microsoft Research пояснили, что уже на старте проекта у решения есть полноценный и расширяемый API, поддержка разного типа памяти и многоуровневых хранилищ, подключаемый сетевой уровень со сверхнизкой задержкой, стабильная работа и хорошая производительность на bare metal.
Дополнительные преимущества проекта (по заверению Microsoft Research):
Garnet использует популярный протокол RESP в качестве отправной точки, что позволяет использовать его из немодифицированных клиентов Redis, доступных сегодня в большинстве языков программирования;
Garnet предлагает гораздо лучшую масштабируемость и пропускную способность благодаря множеству клиентских подключений и небольшим пакетам, что приводит к экономии затрат на тяжёловесные приложения и сервисы;
Garnet демонстрирует лучшую задержку клиента на 99-м и 99,9-м процентиле, что имеет решающее значение для реальных сценариев;
основанный на новейшей технологии .NET, Garnet является кроссплатформенным, расширяемым и современным. Он спроектирован таким образом, чтобы его можно было легко разрабатывать и развивать без ущерба для производительности в обычном случае. В проекте используется библиотечная экосистема .NET для расширения API с открытыми возможностями для оптимизации. Благодаря более тщательному использованию компонентов .NET, Garnet обеспечивает высокую производительность как в Linux, так и в Windows.
Проект Garnet — результат многолетней работы в Microsoft Research. Разработчики пояснили, что это решение является ответвлением от другого проекта, завершённого в 2018 году, под названием FASTER, которая представляла собой встроенную библиотеку key/value, призванную продемонстрировать, что можно с её помощью добиться более высокой производительности, чем в существующих системах. Во время пандемии 2021 года в Microsoft Research решили использовать эту технологию, исходя из реальных потребностей компании. В итоге проект был доработан и получил название Garnet.
Microsoft заявила, что уже развернула Garnet в своей IT-инфраструктуре, включая платформы Windows & Web Experiences, Azure Resource Manager и Azure Resource Graph. Поскольку у проекта открытый исходный код, то сторонние разработчики также могут использовать его для ускорения работы своих собственных приложений и сервисов. В будущем Microsoft Research продолжит добавлять новые вызовы и функции API и планирует далее сотрудничать в этой области с разработчиками сообщества Open Source.
Источник: habr.com