горутины — лёгкие, однако они всё же расходуют память и CPU создание без ограничений → увеличение потребления RAM и расходы на планирование способно вызвать истощение ресурсов и привести к остановке приложения для…
Почему «отправка в брокер до коммита» не обеспечивает транзакционность с двумя очередями? область: распределённые транзакции и messaging «отправка в брокер до коммита» означает, что сообщение попадает в очередь до…
Инфраструктура: развёртывание, настройка и сопровождение кластеров Kafka Конфигурация: подбор и оптимизация параметров продюсера и консьюмера для достижения нужной производительности Гарантии доставки: реализация…
Ограничение количества event loop в одном потоке event loop — цикл обработки событий, используемый в асинхронных средах, таких как Node.js и браузеры как правило, на один поток приходится один event loop, выполняющий…
Kafka, потоковая обработка Одну партицию может читать только один консьюмер внутри группы Партиция представляет собой минимальную единицу параллелизма Kafka распределяет консьюмеров группы между партициями Это…
Отличие Data Race от Race Condition Data Race — это многопоточная ситуация, при которой два или более потока одновременно работают с одной переменной, причём хотя бы один поток выполняет запись, а необходимая…
Future и CompletableFuture: отличия Future — основной интерфейс для представления асинхронного результата в Java Concurrency. С его помощью можно получить итог операции или отменить её выполнение. При этом для…
Архитектура: Kafka представляет собой распределённый журнал сообщений (log), а RabbitMQ — брокер очередей Модель доставки: Kafka передаёт поток данных и долго хранит сообщения; RabbitMQ использует push-модель и…
Сравнение gRPC: bidirectional stream и unary RPC unary RPC — один запрос и один ответ bidirectional stream — обмен сообщениями в двух направлениях при использовании bidirectional stream клиент и сервер одновременно…
Асинхронные операции программирования Detached task выполняется независимо от родительского потока Обычная task запускается и контролируется родительским кодом, который может ожидать её завершения Detached task не…
Отличия race condition и data race область: конкурентность, многопоточность race condition — это ситуация, в которой результат определяется порядком выполнения потоков data race — разновидность race condition,…