О цикле роликов - Разработка проектов со Spring
Уголок сельского джависта
267
подписчиков
Я - сельский джавист, и друзья меня зовут Шурик. А это канал моего профессионального блога на Дзене, посвящённого разработке программного обеспечения на платформе Java. Я тут рассказываю о Java, Kotlin, Spring и многом другом.
📖 Получение сообщений из Kafka Получение сообщений из Kafka на первый взгляд выглядит достаточно просто, но на деле обладает большим количеством нюансов, связанных с членством получателя в группе, её перебалансировкой, получением ранее отправленных сообщений, фиксацией смещений и семантиками доставки. Все эти вопросы я постарался осветить в этой статье. 📖 Читать на сайте 📖 Читать в VK 📖 Читать в Telegraph #kafka 💬 Обсудить в Telegram Поддержать: 💵 На карту T 💵 В VK 💵 В Boosty 💵 ЮМани 5599 0050 8286 9475
📖 Отправка сообщений в Kafka В предыдущих статьях я вкратце рассказал об Apache Kafka, некоторых нюансах его внутреннего устройства, а так же о способах развёртывания. В этой же статье я хочу поговорить об использовании стандартной клиентской библиотеки Kafka для отправки сообщений в проектах на платформе Java. 📖 Читать на сайте alexkosarev.name/...ges 📖 Читать в VK vk.com/...ges 📖 Читать в Telegraph telegra.ph/...-03 #kafka 💬 Обсудить в Telegram: t.me/...wqy Поддержать: 💵 На карту T: www.tinkoff.ru/...qus 💵 В VK vk.com/...des 💵 В Boosty boosty.to/...ate 💵 ЮМани 5599 0050 8286 9475
📖 Запуск Apache Kafka с ZooKeeper
С выпуском версии 4.0 Apache Kafka лишится поддержки ZooKeeper, и единственным вариантом развёртывания кластера останется использование KRaft, о котором было рассказано в одной из предыдущих статей. Несмотря на это, я предлагаю в этой статье рассмотреть вариант развёртывания кластера Apache Kafka с кворумом Apache ZooKeeper...
Запуск Apache ZooKeeper в кластере
Сервис Apache ZooKeeper применяется в качестве сервера метаданных и конфигураций сервисов и часто используется для реализации механизма поиска сервисов (Service Discovery). Например, в Apache Kafka, популярном инструменте для организации обмена сообщениями в распределенных системах, до версии 4.0 ZooKeeper может использоваться в качестве хранилища метаданных кластера. Как и любой другой компонент распределённой системы ZooKeeper желательно запускать в кластере для обеспечения отказоустойчивости системы, чему посвящена данная статья...
📖 Apache Kafka: партиции и реплики
Проект Apache Kafka разрабатывался с прицелом на применение в высоко нагруженных и отказоустойчивых системах. Кроме развёртывания сервисов в кластере, которому была посвящена предыдущая статья, высокую производительность и отказоустойчивость обеспечивают партиции и реплики. Топики в Apache Kafka делятся на партиции, и это помогает повысить производительность системы. Партиции распределяются между узлами кластера, что позволяет распределить и нагрузку между узлами. Давайте создадим топик с четырьмя партициями в кластере из трёх узлов: $ bin/kafka-topics...
Запуск Apache Kafka в кластере
Как и любой другой компонент распределённой информационной системы Apache Kafka в условиях реальной эксплуатации рекомендуется разворачивать в кластере для обеспечения отказоустойчивости. Кластер Kafka может быть развёрнут в двух вариантах: с использованием KRaft и Apache ZooKeeper. В рамках кластера ноды Kafka могут иметь две роли: При использовании Apache ZooKeeper контроллер выбирается автоматически из числа брокеров, а при использовании KRaft некоторому количеству нод назначается роль контроллера, и из их числа автоматически выбирается лидер...
Начало работы с Kafka
Apache Kafka является одной из наиболее популярных систем для обмена сообщениями в распределённых информационных системах. В этой статье рассматривается базовое устройство Kafka, терминология, установка и запуск для локальной разработки, а так же выполнение базовых операций из командной строки и из приложения на языке программирования Java. Apache Kafka — это система стриминга событий (или сообщений). В основе процесса обмена сообщениями в Kafka лежит стрим или поток данных — абстрактная упорядоченная структура данных, которая предусматривает только добавление новых элементов в её конец...
Про очереди сообщений
Очереди сообщений — это очень большая тема, которую невозможно охватить парой статьей или роликов. Отчасти это связано с тем, что в настоящее время существует большое количество систем обмена сообщениями, реализующих схожие механизмы, но делающих это по-разному. В этой статье я хочу попытаться в общих чертах рассказать о том, что такое очереди сообщений, брокеры очередей сообщений, потоки (стримы), а также о том, зачем они нужны. В последующих статьях я постараюсь более предметно рассказать о конкретных реализациях очередей сообщений и их практическом применении...
Redis: основные типы данных и операции
Redis — это популярная нереляционная база данных, реализующая хранилище типа "Ключ — Значение". Данная статья посвящена основным типам данных и операциям и является вступительной к серии статей о Redis, в рамках которой будет рассматриваться и работа с Redis при помощи Spring Data. Redis — это хранилище данных типа "Ключ — Значение" (аналог Map в Java, Kotlin и других языках программирования). В отличие от более традиционных реляционных баз данных вроде MySQL и PostgreSQL или нереляционных вроде...
Установка JDK в Windows
В предыдущей статье вкратце было рассказано про JDK, JRE И JVM, а в этой статье я предлагаю рассмотреть три способа установки JDK в операционной системе Windows: при помощи инсталлятора, утилитой winget и вручную. Самый простой способ установки JDK в операционной системе Windows — конечно же при помощи инсталлятора, а для этого необходимо его сначала скачать. Я буду демонстрировать установку JDK на примере Azul Zulu JDK 21. На сайте Azul необходимо перейти в раздел загрузок и выбрать интересующие параметры...
Вкратце о JVM, JRE и JDK
Мир Java-разработки полнится аббревиатурами, и в этой статье я предлагаю разобраться, наверно, с самыми основными из них: JVM, JRE и JDK. Несмотря на то, что языки программирования платформы Java, будь то Java, Kotlin, Groovy, Scala или даже Clojure, являются компилируемыми, написанные на них исходные коды компилируются в промежуточный байткод Java, а не в бинарные исполняемые файлы и библиотеки, как это обстоит с языками программирования вроде C, C++, Go, Rust и другими. Да, существует проект GraalVM и некоторые другие, позволяющие компилировать исходные коды языков программирования платформы...
▶️ Ролики на Платформе Всем привет! Я по-тихоньку начал осваивать новый видео-хостинг — Платформу, создал канал, настроил внешний вид и описание, а также загрузил несколько роликов из вышедшего цикла о разработке проектов со Spring. Админка пока радует удобством и очень похожа на YouTube, да и в целом параллели с YouTube прослеживаются. Ролики грузятся и обрабатываются быстро, что тоже не может не радовать. А ещё есть возможность импортировать ролики со своего канала на YouTube, что очень удобно, но мои ролики пока в очереди. Но есть и свои подводные камни: в описании к ролику не может быть больше 10 ссылок, а в описании канала — максимум 4. Надеюсь, это ограничение будет ослаблено. Посмотрим, как будет работать продвижение контента, хотя я весьма скептично отношусь к отечественным площадкам в этом вопросе. Мой канал на Платформе: plvideo.ru/...des или plvideo.ru/...ooq Подписывайтесь! А ещё я хотел начать грузить контент на Nuum, но ему не нравится HEVC в MKV, а у меня все ролики записаны именно в этом формате, поэтому контент на Nuum появится позже, когда мне не лень будет заняться конвертированием роликов.