Русский
Открыть в Telegram

Ветка и у меня вот из-за монолита проблема

11 сообщений · –
К
и у меня вот из-за монолита проблема бот был написан на уровне проекта, и работал напрямую с сервисами, а не через апи для сайта - нужен ру сервак для бота либо прокси, либо не ру сервак но чтобы бота кинуть отдельно, его нужно переписать на апи и вырезать бота из основного проекта. Тобишь сделать бота отдельным клиентом а мне так лень...
  1. D
    попробуй воспользоваться агентами
      1. D
        ну тогда могу пожелать тебе стального терпения и мягкого стула
        1. К
          Ближе всего к «код без чёткой структуры и архитектуры», но есть нюанс. Монолитный код ≠ просто один main.py. Монолит — это прежде всего архитектурное устройство приложения, где большая часть функциональности собрана в одном разворачиваемом приложении/процессе и компоненты тесно связаны между собой. Разберём твои варианты: «Всё в одном main.py» — ❌ не обязательно. Можно иметь main.py + 30 модулей, классы, сервисы, репозитории и нормальную архитектуру — и это всё равно будет монолитом. «Код без чёткой структуры и архитектуры» — ❌ тоже не обязательно. Монолит вполне может быть очень хорошо структурированным: app/ ├── main.py ├── handlers/ ├── services/ ├── repositories/ ├── models/ └── utils/ Это модульный монолит. «Скопище интерфейсов и сервисов внутри одного проекта» — ❌ само по себе тоже нет. Если это один проект, который собирается и запускается как единое приложение — это может быть монолит, даже если внутри сотни модулей и сервисов. Главное различие Условно: Монолит ┌──────────────────────────────┐ │ Одно приложение │ │ │ │ API → Services → Repository │ │ ↓ │ │ Database │ └──────────────────────────────┘ А микросервисная архитектура: ┌────────────┐ ┌────────────┐ │ User │ │ Payments │ │ Service │ │ Service │ └─────┬──────┘ └─────┬──────┘ │ │ └───────┬────────┘ ↓ Message/API То есть монолитность определяется не количеством файлов и не наличием классов, а тем, где проходят границы самостоятельных компонентов и как приложение разворачивается. Например, твой условный VPN-проект: main.py handlers/ services/ repositories/ models/ api/ payments/ vpn/ Если всё это запускается как одно приложение, это вполне может быть модульный монолит. А если: auth-service → отдельный контейнер payment-service → отдельный контейнер vpn-service → отдельный контейнер notification → отдельный контейнер и они самостоятельно разворачиваются и общаются по API/очередям — это уже ближе к микросервисной архитектуре. И ещё важный термин: «монолитный код» иногда используют в разговорной речи как «огромная каша в одном файле». Но технически это не совсем корректно: монолит может быть как ужасной кашей, так и прекрасно спроектированным модульным приложением.
          1. K
            Константин Войд, Вы увеличили карму dirstd.dev до 57.98 (+7.98)

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем