Разработка проектов со Spring

Рассказывая о результатах своей видео-блоггерской деятельности за 2023 год, я упомянул о желании записать как минимум один цикл роликов в 2024 году. И этот цикл роликов у меня уже готов! Ну, а посвящён он снова разработке проектов со Spring, но на этот раз, в отличие от серии «Spring по верхам» я решил охватить больший набор тем, а заодно раскрыть их более подробно.

В этом видео я рассказываю о том, что вас ждёт в этом цикле роликов.

Читать далее Разработка проектов со Spring

JSR 310: Источники времени

Прежде чем переходить к более подробному описанию классов, описывающих метки времени, неплохо было бы упомянуть источники времени, хотя на практике они используются не так часто. Источники времени представлены интерфейсом InstantSource и его основной реализацией — Clock.

Читать далее JSR 310: Источники времени

Введение в JSR 310: Дата и время в Java

Для работы с датой и временем в стандартной библиотеке Java существует два набора API: старый, включающий в себя такие классы, как Date и Calendar, и новый, опирающийся на стандарт ISO 8601 и включающий в себя классы из пакета java.time. В настоящее время разработчиками платформы Java рекомендуется использование новых API для работы с датой и временем.

Читать далее Введение в JSR 310: Дата и время в Java

Java: Виртуальные потоки

Одним из наиболее значимых нововведений в Java 21 стала стабильная поддержка виртуальных потоков. Предлагаю в этой статье разобраться с тем, почему нам нужны виртуальные потоки, как их использовать, и какие подводные камни могут нас ожидать при их применении.

Читать далее Java: Виртуальные потоки

Получение сообщений из Kafka

Получение сообщений из Kafka на первый взгляд выглядит достаточно просто, но на деле обладает большим количеством нюансов, связанных с членством получателя в группе, её перебалансировкой, получением ранее отправленных сообщений, фиксацией смещений и семантиками доставки. Все эти вопросы я постарался осветить в этой статье.

Читать далее Получение сообщений из Kafka

Отправка сообщений в Kafka

В предыдущих статьях я вкратце рассказал об Apache Kafka, некоторых нюансах его внутреннего устройства, а так же о способах развёртывания. В этой же статье я хочу поговорить об использовании стандартной клиентской библиотеки Kafka для отправки сообщений в проектах на платформе Java.

Читать далее Отправка сообщений в Kafka

Запуск Apache Kafka с ZooKeeper

С выпуском версии 4.0 Apache Kafka лишится поддержки ZooKeeper, и единственным вариантом развёртывания кластера останется использование KRaft, о котором было рассказано в одной из предыдущих статей. Несмотря на это, я предлагаю в этой статье рассмотреть вариант развёртывания кластера Apache Kafka с кворумом Apache ZooKeeper.

Читать далее Запуск Apache Kafka с ZooKeeper

Запуск Apache ZooKeeper в кластере

Сервис Apache ZooKeeper применяется в качестве сервера метаданных и конфигураций сервисов и часто используется для реализации механизма поиска сервисов (Service Discovery). Например, в Apache Kafka, популярном инструменте для организации обмена сообщениями в распределенных системах, до версии 4.0 ZooKeeper может использоваться в качестве хранилища метаданных кластера. Как и любой другой компонент распределённой системы ZooKeeper желательно запускать в кластере для обеспечения отказоустойчивости системы, чему посвящена данная статья.

Читать далее Запуск Apache ZooKeeper в кластере

Apache Kafka: партиции и реплики

Проект Apache Kafka разрабатывался с прицелом на применение в высоко нагруженных и отказоустойчивых системах. Кроме развёртывания сервисов в кластере, которому была посвящена предыдущая статья, высокую производительность и отказоустойчивость обеспечивают партиции и реплики.

Читать далее Apache Kafka: партиции и реплики

Запуск Apache Kafka в кластере

Как и любой другой компонент распределённой информационной системы Apache Kafka в условиях реальной эксплуатации рекомендуется разворачивать в кластере для обеспечения отказоустойчивости. Кластер Kafka может быть развёрнут в двух вариантах: с использованием KRaft и Apache ZooKeeper.

Читать далее Запуск Apache Kafka в кластере

Начало работы с Kafka

Apache Kafka является одной из наиболее популярных систем для обмена сообщениями в распределённых информационных системах. В этой статье рассматривается базовое устройство Kafka, терминология, установка и запуск для локальной разработки, а так же выполнение базовых операций из командной строки и из приложения на языке программирования Java.

Читать далее Начало работы с Kafka