Apache Kafka – от ZooKeeper к KRaft

Оглавление Введение Apache Kafka изначально полагалась на ZooKeeper для хранения метаданных и координации работы брокеров. Однако начиная с версии 3.5 Kafka предлагает новый режим KRaft (Kafka Raft) – собственный встроенный консенсус на базе Raft, позволяющий полностью избавиться от ZooKeeper. В этой статье мы подробно сравним классическую архитектуру Kafka с ZooKeeper и новую архитектуру Kafka без … —Читать далее—

Loading

Что такое N+1 SELECT проблема и как с ней бороться?

Оглавление Введение Работа с данными в Java-приложениях на основе Spring Data JPA и Hibernate является чрезвычайно удобной благодаря автоматической генерации SQL-запросов и простоте работы с объектами. Однако, вместе с удобством часто приходят и проблемы производительности, самой известной из которых является проблема N+1 SELECT. Проблема N+1 SELECT возникает незаметно для разработчика и способна существенно снизить производительность … —Читать далее—

Loading

Паттерн Saga в распределенных системах

Оглавление Введение В эпоху микросервисной архитектуры разработчики сталкиваются с проблемой реализации транзакций, охватывающих несколько распределенных сервисов. Классические ACID-транзакции, применяемые в монолитных системах, оказываются неприменимыми в среде распределенных приложений, так как каждый сервис управляет собственной базой данных и не поддерживает общие механизмы транзакционности. При этом традиционный подход с двухфазным коммитом (2PC) часто не подходит из-за его … —Читать далее—

Loading

JWT (JSON Web Token) – руководство для разработчиков

Оглавление Введение В современном веб-разработке вопрос безопасной и масштабируемой аутентификации и авторизации пользователей стал как никогда актуален. Классические механизмы сессий на стороне сервера постепенно уступают место более гибким подходам, основанным на токенах, среди которых наибольшее распространение получил JWT (JSON Web Token). JWT – это компактный, самодостаточный и криптографически подписанный токен, позволяющий передавать информацию между участниками … —Читать далее—

Loading

Гарантированная доставка и хранение данных в Apache Kafka: внутренняя механика

Оглавление Введение Apache Kafka давно стал стандартом для построения масштабируемых событийных платформ и систем потоковой обработки данных. О Kafka написано множество статей и руководств, в которых пошагово разбираются базовые сценарии: как поднять брокер, создать топик, написать “Hello, World” на продюсере и консюмере. Но за пределами этих простых примеров скрывается настоящая сила Kafka – её архитектура … —Читать далее—

Loading