Backend-архитектура
Свяжи отдельные функции в сервис: интерфейсы, REST API, базы данных, авторизация и надежность backend-систем.
14 статей
104 мин
Статьи раздела Backend-архитектура
- 01Интерфейсы и архитектурные паттерны в GoПодробное руководство по интерфейсам и архитектуре Go: маленькие интерфейсы, dependency inversion, service layer, repository, clean architecture, package boundaries, тестирование и ошибки лишней абстракции.Средний4 мин
- 02Структура Go проектов: от простого к сложномуПолное руководство по организации Go проектов: от простого main.go до сложных микросервисов. Изучите эволюцию структуры, принципы организации пакетов, ключевые директории (/cmd, /internal, /pkg) и избегайте типичных ошибок при проектировании архитектуры.Средний16 мин
- 03PostgreSQL и базы данных в GoПодробное руководство по работе с PostgreSQL из Go: database/sql, pgx, sqlx, connection pool, схемы таблиц, запросы, sql.ErrNoRows, транзакции, индексы, migrations и repository pattern.Средний4 мин
- 04Проектирование REST APIПодробное руководство по проектированию REST API: ресурсы, HTTP-методы, статус-коды, JSON-ошибки, пагинация, фильтры, вложенные ресурсы, идемпотентность, CORS и OpenAPI.Средний5 мин
- 05Микросервисы: границы, данные и коммуникацияПодробное введение в микросервисную архитектуру: когда она нужна, сервисные границы, database per service, API Gateway, BFF, синхронная и асинхронная коммуникация, события, idempotency и типичные ошибки.Продвинутый5 мин
- 06Межсервисная аутентификация по общему ключуКак защитить внутренний HTTP API общим ключом: от модели запроса и промежуточного обработчика на Go до хранения, ротации и границ подхода.Продвинутый7 мин
- 07Аутентификация, JWT и хранение паролейПодробное руководство по аутентификации в backend: разница между аутентификацией и авторизацией, сценарий входа, bcrypt, JWT, access и refresh tokens, middleware, роли, 401/403 и базовая безопасность.Средний4 мин
- 08API Gateway на Go: проксирование и кэшированиеКак провести HTTP-запрос через шлюз на Go без потери пути, параметров, заголовков и статуса, а затем безопасно добавить тайм-аут и кэш.Продвинутый10 мин
- 09Надежность сервисов: 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 мин
- 11Redis, RabbitMQ и S3-хранилище в Go-проектахПодробное руководство по инфраструктуре backend-проектов: Redis для кэша и rate limiting, RabbitMQ для очередей и событий, S3/MinIO для файлов, TTL, idempotency, метаданные и типичные ошибки.Продвинутый5 мин
- 12RabbitMQ в Go: публикация и обработка сообщенийКак провести задачу от API на Go до обработчика: устойчивая очередь, сохранение сообщения, ручной Ack, повторная доставка и DLQ.Продвинутый9 мин
- 13Redis в Go: клиент, кэширование и TTLКак увидеть промах и попадание кэша на каталоге товаров, подключить go-redis, задать безопасный ключ и TTL, а затем не вернуть устаревшие данные после обновления.Продвинутый10 мин
- 14S3 и MinIO в Go: работа с объектамиКак провести изображение через MinIO: безопасный ключ объекта, потоковая загрузка и чтение, публичный доступ, удаление и согласованность с БД.Продвинутый10 мин