Архив¶
Все статьи блога Bedrock Python по годам.
2026¶
- 2026-09-07 — Circuit breaker должен быть отдельным для каждого origin, а не клиента
- 2026-09-07 — PgBouncer в режиме транзакций и асинхронный SQLAlchemy: рабочая конфигурация, которой не хватает в документации
- 2026-09-07 — Retry-After, backoff и jitter: что делает HTTP-клиент в продакшене
- 2026-09-07 — UUIDv7 как ключ партиционирования PostgreSQL
- 2026-09-07 — Безопасные повторы gRPC: какие статусы действительно стоит повторять
- 2026-09-07 — Двенадцать библиотек, один инженерный стандарт, без монорепозитория
- 2026-09-07 — Должно ли приложение создавать топики Kafka при запуске?
- 2026-09-07 — Доставка exactly-once — миф; однократные эффекты реальны
- 2026-09-07 — Идемпотентность в цепочке микросервисов
- 2026-09-07 — Идемпотентность фоновых задач и консьюмеров Kafka
- 2026-09-07 — Как отображать исключения Python в статусы gRPC без утечки внутренних данных
- 2026-09-07 — Как партиционировать существующую таблицу PostgreSQL без переписывания приложения
- 2026-09-07 — Как я начинаю разработку Python-библиотеки для продакшена в 2026 году
- 2026-09-07 — Ключи идемпотентности: часть, которую обычно реализуют неправильно
- 2026-09-07 — Когда при сбое Redis стоит продолжать работу?
- 2026-09-07 — Корректная остановка в Kubernetes — это протокол, а не обработчик сигнала
- 2026-09-07 — Корректная остановка консьюмера Kafka в Kubernetes
- 2026-09-07 — Модели и схема БД разошлись. Заметит ли CI?
- 2026-09-07 — Мы начали писать документацию для ИИ-агентов
- 2026-09-07 — Надёжность — это не retry=3
- 2026-09-07 — Один жизненный цикл для HTTP, gRPC, воркеров и cron
- 2026-09-07 — Ошибки без привязки к транспорту: одна ошибка предметной области, ответы HTTP и gRPC
- 2026-09-07 — Паттерн Unit of Work в SQLAlchemy 2
- 2026-09-07 — Перестаньте передавать AsyncSession повсюду
- 2026-09-07 — Переход с pg_partman на управление партициями из приложения
- 2026-09-07 — Повторы могут усугубить сбой: проектируем бюджет повторных попыток
- 2026-09-07 — Политика хранения партиций — это не DROP TABLE
- 2026-09-07 — Почему жизненный цикл приложения не должен принадлежать FastAPI
- 2026-09-07 — Почему перехватчики gRPC ломаются на потоковых RPC
- 2026-09-07 — Почему ревью кода с ИИ не должно быть полностью автономным
- 2026-09-07 — Почему я перестал писать обёртки над HTTP-клиентами
- 2026-09-07 — Проверка здоровья Redis: одного PING недостаточно
- 2026-09-07 — Проверки aiokafka перед выходом в продакшен
- 2026-09-07 — Прогрев, readiness и liveness — три разные задачи
- 2026-09-07 — Публикация в PyPI без API-токенов: полный путь Trusted Publishing
- 2026-09-07 — Пул gRPC-каналов нельзя строить только по адресу
- 2026-09-07 — Пять тестов миграций, которые стоит запускать в CI каждого Python-проекта
- 2026-09-07 — Тестирование миграций с Testcontainers: вперёд, назад и снова вперёд
- 2026-09-07 — Транзакционный inbox: вторая половина паттерна outbox
- 2026-09-07 — Устройство gRPC-сервера на Python для продакшена
- 2026-09-07 — Что каждый Python-микросервис заново реализует для продакшена
- 2026-09-07 — Что отслеживать в пуле соединений SQLAlchemy
- 2026-09-07 — Что происходит, когда Kafka недоступна целый час?
- 2026-09-07 — Ядро без зависимостей: зачем инфраструктурным библиотекам необязательные зависимости
- 2026-09-06 — Таймаут — не дедлайн: как теряется бюджет времени в микросервисах
- 2026-09-06 — Управление партициями PostgreSQL: от одного сбоя к другому
- 2026-05-30 — Добро пожаловать в блог Bedrock Python
- 2026-05-28 — Знакомьтесь: mr-review — проверка merge request с помощью ИИ
- 2026-05-15 — Паттерн Transactional Outbox на Python: omni-box