Appearance
Подробное сравнение Synapse, Dendrite и Tuwunel (Conduwuit/Conduit)
Практическое сравнение трёх серверных реализаций Matrix. Экосистема развивается быстро, поэтому оценка дана как ориентир.
1. Функциональные возможности
Сравнение по функциональным зонам
| Функциональная зона | Synapse | Dendrite | Tuwunel (Conduwuit/Conduit) |
|---|---|---|---|
| Федерация | Полная | В целом полная, но возможны исключения | Частичная/ограниченная |
| Пространства и комнаты | Полная | В целом полная | Частичная |
| E2EE (ключи, сессии) | Полная | В целом полная | Частичная |
| Админ‑API и управление | Полная | Частичная | Ограниченная |
| Массовая модерация | Полная | Частичная | Ограниченная |
| Расширения/интеграции | Богатые | Средние | Минимальные |
| Совместимость клиентов | Высокая | Высокая/средняя | Средняя |
Что это означает на практике
- Synapse — максимально совместимая реализация. Почти всё работает «из коробки».
- Dendrite — хороший баланс скорости и зрелости, но отдельные возможности могут быть реализованы не полностью.
- Tuwunel (Conduwuit/Conduit) — минималистичный сервер с упором на лёгкость; не все функции Matrix доступны.
2. Поддержка стандартов Matrix
Полная/частичная совместимость
- Synapse обычно первым получает поддержку новых частей спецификации.
- Dendrite следует за спецификацией, но обновления могут появляться с задержкой.
- Tuwunel (Conduwuit/Conduit) может иметь неполную поддержку ряда спецификаций и расширений.
Практический вывод
Если вам критична максимальная совместимость (особенно в федерации и новых возможностях), выбирайте Synapse.
3. Подключение ботов
Механики подключения
- Боты обычно подключаются как клиенты (Client‑Server API) или через Application Service (AS).
- Synapse: наиболее удобный вариант — полноценная поддержка Application Service, стабильные эндпоинты и большой опыт у сообщества.
- Dendrite: поддержка ботов есть, но может потребовать больше тестов по API и специфическим функциям.
- Tuwunel (Conduwuit/Conduit): чаще подходит для простых ботов через Client‑Server API, сложные сценарии через AS могут быть ограничены.
Итог по ботам
- Сложные боты и интеграции: Synapse.
- Умеренные сценарии: Dendrite.
- Простые боты: Tuwunel.
4. Хранение истории и медиа
История (события)
- Synapse: хранит события в БД (обычно PostgreSQL), активно использует индексы и кэши; поддерживает масштабирование и оптимизацию.
- Dendrite: тоже работает с PostgreSQL; архитектура более модульная, хорошо переносит разделение сервисов.
- Tuwunel (Conduwuit/Conduit): чаще использует более простой подход к хранению, ориентирован на небольшие инсталляции.
Медиа‑данные
- Synapse: развитая медиа‑подсистема, настройки TTL, лимитов и политики хранения.
- Dendrite: медиа‑хранилище проще, обычно без большого набора оптимизаций.
- Tuwunel: минималистичный вариант, удобен для малых объёмов.
5. Оптимизация и производительность
Возможности оптимизации
- Synapse: масштабирование БД, кэширование, федеративные настройки, шардирование медиа.
- Dendrite: эффективная параллельная обработка, модульность, более лёгкий runtime.
- Tuwunel: минимальные требования, но меньше тонких настроек.
Практические рекомендации
- Большие инсталляции с активной федерацией — Synapse.
- Средние нагрузки и упор на эффективность — Dendrite.
- Небольшие серверы и простые сценарии — Tuwunel.
6. Итоговое сравнение по простоте
| Критерий | Synapse | Dendrite | Tuwunel |
|---|---|---|---|
| Совместимость функций | Высокая | Средняя/высокая | Средняя/низкая |
| Подключение ботов | Простое | Среднее | Простое для базовых |
| Эксплуатация | Сложнее | Средне | Просто |
| Масштабирование | Хорошее | Хорошее | Ограниченное |
7. Вывод
Если нужна максимальная функциональность и стабильность — Synapse.
Если важны эффективность и современная архитектура — Dendrite.
Если требуется простой, лёгкий сервер — Tuwunel (Conduwuit/Conduit).