Бизнес

c

Материалы и среда развертывания: выбор стека для «Бизнеса»

Для обеспечения стабильной работы блог-платформы «Бизнес» в 2026 году используется исключительно серверный стек на базе Go 1.22 (компилируемый бинарный файл) в связке с PostgreSQL 16 (основная база) и Redis 7.2 (кэш сессий и горячих данных). В отличие от популярных CMS (WordPress, Joomla), где применяется интерпретируемый PHP и MySQL с блокирующими запросами, «Бизнес» использует асинхронную модель обработки запросов через net/http2 без дополнительных веб-серверов (Nginx не требуется — Go сам обрабатывает TLS и статику). Материал для хранения медиафайлов — объектное хранилище S3-совместимое (MinIO, не HDD/SSD-массивы). Это позволяет избежать фрагментации данных, характерной для файловых систем ext4 при большом количестве изображений.

Спецификации ядра: модульность и протоколы

Архитектура «Бизнеса» построена по принципу микроядра с плагинами, компилируемыми в единый бинарник. Критические спецификации:

Различия от альтернатив: нагрузочные характеристики и стандарты

Главное техническое отличие «Бизнеса» от платформ вроде «Яндекс.Дзен» или Medium — это отсутствие единой точки отказа на уровне базы данных. В «Бизнесе» используется шардирование PostgreSQL по user_id (64 шарда) с использованием Citus. У альтернатив (Medium) — master-slave репликация с ручным переключением, что даёт RTO (время восстановления) до 5 минут. В «Бизнесе» RTO = 30 секунд за счёт автоматического failover через Patroni.

Качество кода регламентируется внутренними стандартами ISO 25010 (модель качества ПО). Для каждого коммита запускается статический анализатор golangci-lint (набор правил: errcheck, staticcheck, gosec). В сравнении с open-source аналогами (Ghost, WriteFreely) — у них покрытие тестами редко превышает 40%, здесь — 92% unit-тестов и 78% интеграционных тестов (данные CI/CD отчётов за Q1 2026).

Производство и сборка: конвейер непрерывной поставки

Сборка бинарного файла «Бизнеса» происходит в Docker-контейнерах на базе alpine:3.19. Процесс:

  1. Стадия компиляции: CGO_ENABLED=0 для исключения зависимостей от glibc. Это даёт бинарник размером 18 МБ (у WordPress с PHP-FPM — образ 800+ МБ).
  2. Стадия тестирования: запуск 12 000 юнит-тестов и 400 e2e-тестов (Cypress для фронтенда). Каждый тест проверяет спецификации: максимум 200 мс на ответ, не более 5 SQL запросов на страницу.
  3. Стадия деплоя: автоматический rollout через Kubernetes (k8s 1.29) с strategy RollingUpdate. В отличие от handcrafted deploy на VPS (как у большинства блог-платформ), здесь — zero-downtime deployment с health checks каждые 10 секунд.

Стандарты качества: верификация и валидация

Каждая новая версия «Бизнеса» проходит проверку на соответствие стандартам надежности:

Особенности реализации модуля социальных сетей

Интеграция с внешними социальными сетями (Telegram, VK, YouTube) выполнена через потоковую синхронизацию на основе WebSocket и Redis Pub/Sub. Каждое действие (лайк, репост, комментарий) упаковывается в protobuf-сообщение и отправляется в dedicated топик Kafka. В отличие от типовых реализаций (где для каждого внешнего API создаётся отдельный cron-задача с опросом), здесь используется event-driven архитектура с подтверждением доставки (at-least-once). Пропускная способность — 500 000 событий/сек (нагрузочный тест с 16 гигабайтами RAM).

Для профилей пользователей применяется денормализованная схема в Redis (Hashes) с TTL 1 час. Это сокращает время загрузки страницы профиля до 12 мс (у конкурентов на MySQL — 85 мс при 50 000 подписчиках). Запись в Redis производится через pipeline (batch-операции по 100 записей), что минимизирует сетевые round-trips.

Добавлено: 07.05.2026