Код — это мост между мыслью и действием. (автор не известен)

Почтовый сервер с открытым исходным кодом Stalwart 1.0 вышел в первой стабильной версии


Почтовый сервер с открытым исходным кодом Stalwart 1.0 вышел в первой стабильной версии

После пяти лет разработки, Stalwart, сервер почты и совместной работы с открытым исходным кодом, написанный на Rust, достиг версии 1.0, что является его первым стабильным выпуском, объявленным “Самым быстрым почтовым сервером на планете”.

Для тех, кто не в курсе, это универсальный почтовый сервер, поддерживающий протоколы SMTP, IMAP, POP3 и JMAP. Как сообщалось, проект превратился в более широкую платформу для совместной работы, добавив поддержку календарей, контактов и обмена файлами через протоколы CalDAV, CardDAV и WebDAV.

Одно из главных улучшений в версии 1.0 — переписание нескольких основных парсеров с использованием технологий SIMD и SWAR, что позволяет серверу обрабатывать несколько байтов одновременно, а не по отдельности.

Библиотека mail-parser проекта была переписана с нуля, и разработчики сообщают, что она работает в три раза быстрее, чем библиотека mailparse в Rust, и в девять раз быстрее, чем парсер Dovecot. Новая библиотека кодирования encodify также ускоряет обработку Base64 и quoted-printable.

Производительность базы данных также была улучшена. Stalwart теперь сокращает количество ненужных операций по хранению данных, использует более эффективные транзакции и применяет сжатие zstd, оптимизированное для данных электронной почты, календаря и контактов.

Разработчики внедрили оптимизацию для бэкенда RocksDB, PostgreSQL, MySQL, SQLite и FoundationDB. Кроме того, переработанная система кэширования позволяет выполнять многие распространенные операции IMAP, включая сортировку, многопоточность и получение флагов сообщений, с минимальным доступом к базе данных.

Еще одно заметное улучшение — полностью переписанная система полнотекстового поиска. Теперь он поддерживает поиск по фразе, лемматизацию и поиск по префиксу, а также использует сжатые индексы для повышения эффективности. Согласно тестам проекта, поиск 250 000 сообщений занимает менее четырех миллисекунд.

Команда Stalwart провела тщательное тестирование производительности Postfix 3.11 и Dovecot 2.4 на идентичных серверах Azure с восемью виртуальными ЦП AMD EPYC Zen 5, 32 ГБ оперативной памяти и локальным хранилищем NVMe.

В этих тестах Stalwart превзошел комбинацию Postfix/Dovecot в 35 из 38 сравнений. Например, он обрабатывал 5445 входящих SMTP-сообщений в секунду по сравнению с 723 сообщениями в секунду у Postfix. Он также показал лучшие результаты в 14 из 15 распространенных операций IMAP, увеличив скорость в 1,4–19 раз.

Помимо производительности, в версии 1.0 появилась функция индексации содержимого документов. Stalwart может извлекать и искать текст в файлах PDF, Microsoft Office, OpenDocument, EPUB и RTF, независимо от того, хранятся ли они в виде вложений электронной почты или во встроенном файловом хранилище.

Среди других нововведений — поддержка метаданных JMAP и IMAP, постквантовые подписи DKIM2, сочетающие ML-DSA-44 и Ed25519, а также расширенные возможности OAuth и OpenID Connect. В новой версии также улучшена аутентификация, конфигурация хранилища и защита от подделки запросов на стороне сервера.

Наконец, важное изменение коснулось схемы базы данных, которая была доработана. Разработчики говорят, что в будущих релизах будет поддерживаться обновление на месте без разрушительной миграции базы данных, которая требовалась в некоторых предыдущих версиях.

Однако для обновления существующих установок до версии 1.0 по-прежнему требуется однократная миграция, поскольку новая версия не может напрямую открывать базы данных, созданные в предыдущих версиях.

Для установок, работающих на Stalwart 0.16.27, новый stalwart-migrate инструмент выполняет поэтапную передачу данных, пока старый сервер продолжает работать, что сводит к минимуму время простоя.

Подробнее см. в официальном объявлении или в репозитории проекта на GitHub.

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала