Программирование

Интеграция Axum с S3-хранилищем

Недавно столкнулся с проблемой подружить веб-фреймворк Axum и библиотеку rust-s3. Собственно, задача сделать 2 эндпойнта:

  • Загрузка файла в хранилище и получение ссылки
  • Скачка файла из хранилища по ссылке

Разумеется, без временных файлов и без удержания целиком всех данных файла в памяти.

В этой статье будет полный код необходимый для реализации этого функционала с небольшими пояснениями.

Axum vs Actix vs Rocket

Логотип Rust

В этой статье мы сравним производительность 3 наиболее популярных бекэнд-фреймворков для Rust: Axum, Actix и Rocket.

Сравним основные особенности, качество документации и самое главное - проведём тест производительности. Для этого напишем с помощью каждого фреймворка простой REST-сервис с тремя эндпоинтами - один будет просто возвращать отформатированную строку, второй засыпать на 20 миллисекунд имитируя небольшую работу с БД или запрос к внешнему сервису, а третий будет выполнять тяжёлую работу вычисляя хеш bcrypt, имитируя какую-нибудь сложную бизнес-логику.