Технический журнал Александра Хохлова

Инженерный журнал об инфраструктуре и backend

Заметки об IT и жизни. Docker, Go, инфраструктура и не только.

Личный инженерный журнал: инфраструктура, backend, домашняя лаборатория и накопленный практический опыт.

Последние публикации

Плагины Picodata на Rust: pike, миграции и blue-green

Плагины Picodata на Rust: pike, миграции и blue-green

Когда SQL не хватает, Picodata расширяют плагином на Rust: сервис внутри кластера со своим жизненным циклом, миграциями схемы и обновлением версий без остановки. Разбор на рабочем плагине — от скелета через pike до blue-green, включая места, где всё это ведёт себя не так, как ожидаешь

«Доступна новая версия сайта»: как вкладка узнаёт о выкладке и почему не перезагружается сама

«Доступна новая версия сайта»: как вкладка узнаёт о выкладке и почему не перезагружается сама

Сайт VOG перестал перезагружать страницу при переходах, и вкладка стала жить часами на коде, загруженном до выкладки. Как вкладка узнаёт о новой сборке почти без лишней нагрузки на сервер — из заголовков обычных ответов и редкого опроса, — почему обновление предлагается кнопкой, а не делается само, и как одна строка ?v= дала на странице две копии React

Time-series БД: TimescaleDB и VictoriaMetrics

Time-series БД: TimescaleDB и VictoriaMetrics

Две школы хранения временных рядов — PostgreSQL с гипертаблицами TimescaleDB и метрические движки Prometheus и VictoriaMetrics — на одном стенде: как continuous aggregate отстаёт от свежих и опоздавших данных и стирает историю после ретеншна, во что обходятся точка и ряд в каждой системе и почему increase() в Prometheus и VictoriaMetrics отвечает по-разному

Установщик на Go для Windows-клиента: как VOG ушёл от MSI и redist

Установщик на Go для Windows-клиента: как VOG ушёл от MSI и redist

Старый MSI-установщик VOG перестал ставиться на свежие Windows из-за распространяемого пакета Visual C++. Как вместо него появился загрузчик на Go — один статический файл без cgo и без единой сторонней зависимости, с окном на голом WinAPI, модульной установкой, откатом версий, двумя слоями подписей Ed25519 и честными отношениями с антивирусами

Мигратор схемы: на чём он стоит и что ломается вне ванильного PostgreSQL

Мигратор схемы: на чём он стоит и что ломается вне ванильного PostgreSQL

Мигратор — не «скрипты по порядку», а программа со своими требованиями к СУБД: журнал версий, транзакционный DDL, интроспекция каталогов. Живая матрица пяти инструментов (goose, Flyway, Liquibase, Atlas, Alembic) против PostgreSQL, CockroachDB и Picodata: на Picodata ни один не дошёл до первой миграции, на CockroachDB два споткнулись о собственную служебную часть. Плюс декларативный против императивного, привязка к формату и что на самом деле стоит денег в бесплатных редакциях

В работе

Ближайшие материалы, которые готовятся к публикации.

Архитектура

Строительные блоки system design: карта

Навигатор по блокам: фундамент, масштабирование, устойчивость, интерфейсы и сквозные оси — куда вести читателя.

Хранилища

Распределённые хранилища: карта

Карта серии о распределённых хранилищах: объектное, файловое и блочное, место S3 и HDFS.

Разделы

Основные направления сайта. Живые разделы с материалами идут первыми, новые направления ниже как задел на рост.

Базы данных

PostgreSQL, Redis, ClickHouse, MongoDB и другие системы хранения данных

69 статей +7

Наблюдаемость

OTEL, Vector, OpenSearch, VictoriaMetrics, Zabbix, логи, метрики и трейсы

8 статей +4

Архитектура

Системный дизайн, интеграционные паттерны, аналитика и инженерные trade-offs

54 статей +3

Go

Язык Go: паттерны, инструменты, практики

32 статей +1

Kubernetes

Kubernetes, Talos, ArgoCD, GitOps и эксплуатация кластеров

6 статей +2

Безопасность

Изоляция и песочницы, hardening, модель угроз и практическая защита сервисов и рабочего окружения

21 статей

Инфраструктура

Proxmox, Terraform, Ansible, Vault, HAProxy, Angie, сети и базовые платформенные практики

11 статей

Фото и игры

Личное вне IT: фотография (Canon, Nikon, Sony), история игровых проектов и турниров, как всё это менялось со временем

1 статей

Сообщения

Kafka, NATS, RabbitMQ и практики построения асинхронных систем

33 статей

Performance

Низкая задержка и высокая пропускная способность: бюджет времени, транспорт, балансировка, пулы соединений

17 статей

Языки

Языки программирования как явление: теория вычислимости, выразительность, кросс-языковые сравнения и то, что стоит за синтаксисом

1 статей

Zig

Zig как современная замена C: философия, comptime, явные аллокаторы, C-interop и позиционирование среди системных языков

1 статей

Rust

Rust для сервисов, контейнеризация, observability и надёжная backend-разработка

6 статей

Java

Java, JVM, контейнеризация, производительность и практики эксплуатации

12 статей

Docker

Контейнеризация, best practices, мультистейдж-сборки

7 статей

AI

AI для backend-инженера: LLM в проде, эмбеддинги и RAG, локальный инференс, tool use и AI-агенты.

1 статей

Инструменты

Рабочие инструменты инженера: Git от первого коммита до команды, настройка окружения, диаграммы как код (LikeC4).

3 статей

Скоро появятся

Scala

Функциональный backend на Scala 3: Cats Effect и ZIO, http4s, Akka/Pekko, Doobie и Quill, Spark и production-практики на JVM.

0 статей

C#

C# и .NET для backend: ASP.NET Core, async/await, доступ к данным, gRPC и messaging, упаковка, профилирование и эксплуатация.

0 статей

C++

Современный C++ для backend: корутины и Asio, CMake и пакетные менеджеры, HTTP-сервисы, профилирование и production-практики.

0 статей

Python

Python для backend, данных и автоматизации: типизация, async, веб-фреймворки, упаковка и производительность

0 статей

TypeScript / Node

TypeScript и Node.js для backend: типовой слой, event loop, веб-фреймворки, данные, упаковка и рантаймы (Node/Deno/Bun)

0 статей

Игровые серверы

Боты, античит и эксплуатация игровых серверов со стороны оператора и комьюнити: серверные AI-боты, детект читов, честная игра и наблюдаемость

0 статей

Мобильные клиенты

Бэкенд для мобильных приложений: авторизация и хранение токенов, push-уведомления, API и BFF, offline-first и синхронизация

0 статей

От кода до прода

Сквозные капстон-проекты: собираем реальный сервис через весь стек — код, данные и события, контейнеры и CI/CD, Kubernetes, наблюдаемость и эксплуатация

0 статей

Хранилища

Распределённые хранилища: объектное хранилище и S3, реализации после MinIO, HDFS, построение своего CDN

0 статей