Когда переходишь к сервисам

Backend-архитектура

Свяжи отдельные функции в сервис: интерфейсы, REST API, базы данных, авторизация и надежность backend-систем.

14 статей
104 мин
К направлениям

Иди сверху вниз, если тема новая, или выбери статью под текущую задачу.

Статьи раздела Backend-архитектура

  1. Интерфейсы и архитектурные паттерны в GoПодробное руководство по интерфейсам и архитектуре Go: маленькие интерфейсы, dependency inversion, service layer, repository, clean architecture, package boundaries, тестирование и ошибки лишней абстракции.
    Средний
    4 мин
  2. Структура Go проектов: от простого к сложномуПолное руководство по организации Go проектов: от простого main.go до сложных микросервисов. Изучите эволюцию структуры, принципы организации пакетов, ключевые директории (/cmd, /internal, /pkg) и избегайте типичных ошибок при проектировании архитектуры.
    Средний
    16 мин
  3. PostgreSQL и базы данных в GoПодробное руководство по работе с PostgreSQL из Go: database/sql, pgx, sqlx, connection pool, схемы таблиц, запросы, sql.ErrNoRows, транзакции, индексы, migrations и repository pattern.
    Средний
    4 мин
  4. Проектирование REST APIПодробное руководство по проектированию REST API: ресурсы, HTTP-методы, статус-коды, JSON-ошибки, пагинация, фильтры, вложенные ресурсы, идемпотентность, CORS и OpenAPI.
    Средний
    5 мин
  5. Микросервисы: границы, данные и коммуникацияПодробное введение в микросервисную архитектуру: когда она нужна, сервисные границы, database per service, API Gateway, BFF, синхронная и асинхронная коммуникация, события, idempotency и типичные ошибки.
    Продвинутый
    5 мин
  6. Межсервисная аутентификация по общему ключуКак защитить внутренний HTTP API общим ключом: от модели запроса и промежуточного обработчика на Go до хранения, ротации и границ подхода.
    Продвинутый
    7 мин
  7. Аутентификация, JWT и хранение паролейПодробное руководство по аутентификации в backend: разница между аутентификацией и авторизацией, сценарий входа, bcrypt, JWT, access и refresh tokens, middleware, роли, 401/403 и базовая безопасность.
    Средний
    4 мин
  8. API Gateway на Go: проксирование и кэшированиеКак провести HTTP-запрос через шлюз на Go без потери пути, параметров, заголовков и статуса, а затем безопасно добавить тайм-аут и кэш.
    Продвинутый
    10 мин
  9. Надежность сервисов: healthcheck, retry и observabilityПодробное руководство по надежности backend-сервисов: health checks, readiness, graceful shutdown, timeout, retry с backoff, rate limiting, structured logs, metrics, tracing и graceful degradation.
    Продвинутый
    5 мин
  10. Асинхронные задачи и опрос состояния в REST APIКак провести обработку изображения через 202 Accepted, processing, ready или failed и дать клиенту понятный маршрут состояния без скрытой синхронности.
    Продвинутый
    10 мин
  11. Redis, RabbitMQ и S3-хранилище в Go-проектахПодробное руководство по инфраструктуре backend-проектов: Redis для кэша и rate limiting, RabbitMQ для очередей и событий, S3/MinIO для файлов, TTL, idempotency, метаданные и типичные ошибки.
    Продвинутый
    5 мин
  12. RabbitMQ в Go: публикация и обработка сообщенийКак провести задачу от API на Go до обработчика: устойчивая очередь, сохранение сообщения, ручной Ack, повторная доставка и DLQ.
    Продвинутый
    9 мин
  13. Redis в Go: клиент, кэширование и TTLКак увидеть промах и попадание кэша на каталоге товаров, подключить go-redis, задать безопасный ключ и TTL, а затем не вернуть устаревшие данные после обновления.
    Продвинутый
    10 мин
  14. S3 и MinIO в Go: работа с объектамиКак провести изображение через MinIO: безопасный ключ объекта, потоковая загрузка и чтение, публичный доступ, удаление и согласованность с БД.
    Продвинутый
    10 мин