паттерн интеграции, обеспечивающий гарантированную доставку сообщений сохраняет события в специальной таблице (outbox) одновременно с изменениями в БД в рамках одной транзакции устраняет риск рассинхронизации данных и…
Что означает вытесняющая многозадачность? способ планирования процессов в ОС операционная система самостоятельно переключает задачи текущая задача прерывается по таймеру или с учетом приоритета обеспечивает…
механизм выбора и вызова функций в runtime (во время выполнения) статическая (early) — компилятор заранее определяет прямой вызов динамическая (late) — реализация метода выбирается во время исполнения с учётом типа…
Как устроен индекс в Postgres и чем B-Tree отличается от GIN Индекс в Postgres — это структура данных, которая ускоряет поиск записей в таблице B-Tree — сбалансированное дерево для поиска по равенству и диапазонам (>,…
область: архитектура сетей и протоколы маршрутизация — выбор наиболее подходящего пути для IP-пакета для этого применяется таблица маршрутов, где указаны сеть, маска, шлюз и интерфейс маршрутизатор анализирует адрес…
Как работает секционирование таблиц (table partitioning) в PostgreSQL? большая таблица разделяется на отдельные части — партиции каждая партиция представляет собой таблицу с собственным условием отбора, например…
Как работают DispatchGroup и DispatchSemaphore? Concurrency primitives для iOS/macOS в GCD DispatchGroup — средство координации асинхронных задач помогает отследить завершение всех операций, входящих в группу…
Каналы служат примитивом синхронизации и обмена данными между goroutine Они реализованы в виде буферизированных и небУферизированных очередей Размер буферизации задаёт число элементов, которые можно отправить в канал…
Как организовать graceful shutdown HTTP-сервиса с воркерами в Go? Контекст: управление остановкой сервиса, одновременно обрабатывающего HTTP-запросы и выполняющего фоновые задачи Для координации завершения применять…
Как в Go создать worker pool для обработки задач? параллельно выполнять функции с помощью goroutines ограничивать количество активных воркеров через канал-буфер или семафор передавать задания рабочим горутинам через…
область: обработка событий, транзакции блокирующая транзакция — гарантирует атомарность и изоляцию использовать механизм блокировок (например, pessimistic locking) для синхронизации применять мьютексы или сходные…
Потокобезопасная структура блокировок по ID цель: обеспечить конкурентный контроль доступа к ресурсам, связанным с уникальным ID хранить блокировки по ID в ConcurrentHashMap / concurrent dictionary для каждого ID…