Ответ
Чаще всего использую чистую архитектуру (Clean Architecture) или гексагональную (Hexagonal). Они позволяют:
- Разделять слои (домен, приложение, инфраструктура)
- Делать код тестируемым
- Минимизировать зависимости
Пример структуры проекта:
/internal
/domain # бизнес-логика
/app # use cases
/infra # БД, внешние API
Для API предпочитаю REST или gRPC, иногда GraphQL для сложных фронтендов. Веб-фреймворк - Chi или Echo за их простоту и производительность.
Для микросервисов добавляю CQRS и Event Sourcing, если требуется масштабирование.