Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 1.55 KB

File metadata and controls

33 lines (22 loc) · 1.55 KB

ADR-003: Python async монолит + SQLite

Статус: Принято
Дата: 2026-04

Контекст

Выбор технологического стека и архитектурного стиля.

Варианты

Стек Плюсы Минусы
Python async монолит + SQLite Единственный стек с реальными библиотеками для MAX; просто деплоить Python медленнее Go
Python микросервисы + Redis Изоляция компонент Оверинжиниринг для 1 юзера
Go монолит Производительность Нет Go-библиотек для MAX

Решение

Python 3.13+, asyncio, aiogram, maxapi-python, aiosqlite, SQLite.

Обоснование

  • maxapi-python (pymax) — только Python; альтернатив нет
  • aiogram — зрелая async библиотека для Telegram
  • SQLite — не нужен отдельный сервер, ACID, достаточно для 1 пользователя
  • Один процесс = один systemd unit или один Docker контейнер
  • Производительность нерелевантна для личного использования

Последствия

  • Если MAX-компонент крашится — всё крашится (решается supervision/reconnect)
  • SQLite не подходит для масштабирования — не нужно