Уголок сельского джависта
Открыть в Telegram
Пишу на Java и Kotlin, иногда полную ерунду, люто топлю за Spring и чистую архитектуру. Консультирую. Чат: https://t.me/shurik_codes_group
Больше2 044
Подписчики
Нет данных24 часа
+37 дней
+1930 день
Архив постов
Java: Виртуальные потоки
Одним из наиболее значимых нововведений в Java 21 стала стабильная поддержка виртуальных потоков. Предлагаю в этой статье разобраться с тем, почему нам нужны виртуальные потоки, как их использовать и какие подводные камни могут нас ожидать при их применении.
📖 Читать в блоге
📖 Читать в VK
📖 Читать на Telegra.ph
#java
💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqy
Поддержать:
💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS
💵 В VK https://vk.com/donut/shurik.codes
💵 В Boosty https://boosty.to/akosarev/donate
💵 ЮМани 5599 0050 8286 9475
Ровно 13 лет назад, 9 апреля 2012 года, я переступил порог компании "Maxim Technology" (@ooo_technology), будучи зелёным джуном. Когда я шёл на собеседование, ожидал увидеть типичный ИТ-отдел компании провинциального уровня с десятком айтишников в свитерах и очках, а увидел просторный, залитый светом офис с удобными и современными рабочими местами и коллектив, состоящий из пары десятков профессионалов, частью которого мне посчастливилось стать.
Тогда я ещё был веб-разработчиком (да, PHP, MySQL, HTML, JavaScript, CSS и прочие радости веба), но уже с опытом разработки на Java 6 со Spring Framework 3, Java EE и прочими томкатами.
Кто бы мог подумать, но за прошедшие годы из джуна я вырос до техлида, освоил и внедрил в разработку огромное количество инструментов. Решённых задач уже не счесть, да и не важно это.
Было ли желание уйти? Было. Были ли причины уйти? Были. Но моя лень сделала своё дело, и всех своих целей я добился не меняя место работы.
Спасибо компании за предоставленные возможности и коллегам за невероятно интересный рабочий процесс.
Друзья, всем снова привет! Моим коллегам из федеральной сети фитнес-клубов "Брайтфит" нужен в команду Java-разработчик уровня middle+.
Брайтфит - это больше 200 тыс. клиентов в год, 2 Страны, 14 городов, 34 фитнес клуба, больше 1 тыс. тренеров-партнеров.
За подробностями обращаться к @Viacheslav_st1.
Друзья, всем привет! Мне в команду в компании @ooo_technology нужен толковый разработчик на Kotlin уровня middle или senior. Ну или джавист, готовый погрузиться в Kotlin. Задачи интересные, связанные с телефонией, работать можно удалённо или в офисе, подробнее тут: https://spb.hh.ru/vacancy/117519653?hhtmFrom=employer_vacancies
▶️ Основы Apache Kafka
Информационные системы в процессе своей работы порождают большое количество событий, которые могут быть связаны как с самой системой, так и с реализуемой предметной областью.
Но созданные события нужно доставить до получателей - других компонентов информационной системы, и в этом случае на помощь приходят брокеры очередей сообщений и стриминговые системы. В этом ролике речь пойдёт о самой популярной системе стриминга событий - Apache Kafka и будут описаны следующие темы:
- Краткое описание стримов данных
- Терминология Kafka
- Локальный запуск Apache Kafka
- Использование утилит CLI для отправки и получения сообщений
- Отправка и получение сообщений в проекте на Java
▶️ Смотреть в VK
▶️ Смотреть в Rutube
▶️ Смотреть в Дзене
▶️ Смотреть на Платформе
▶️ Смотреть на YouTube
▶️ Смотреть в Boosty
▶️ Смотреть в NUUM
#kafka #java
💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqy
Поддержать:
💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS
💵 В VK https://vk.com/donut/shurik.codes
💵 В Boosty https://boosty.to/akosarev/donate
💵 ЮМани 5599 0050 8286 9475
📖 Получение сообщений из Kafka
Получение сообщений из Kafka на первый взгляд выглядит достаточно просто, но на деле обладает большим количеством нюансов, связанных с членством получателя в группе, её перебалансировкой, получением ранее отправленных сообщений, фиксацией смещений и семантиками доставки. Все эти вопросы я постарался осветить в этой статье.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
#kafka
💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqy
Поддержать:
💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS
💵 В VK https://vk.com/donut/shurik.codes
💵 В Boosty https://boosty.to/akosarev/donate
💵 ЮМани 5599 0050 8286 9475
📖 Отправка сообщений в Kafka
В предыдущих статьях я вкратце рассказал об Apache Kafka, некоторых нюансах его внутреннего устройства, а так же о способах развёртывания. В этой же статье я хочу поговорить об использовании стандартной клиентской библиотеки Kafka для отправки сообщений в проектах на платформе Java.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
#kafka
💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqy
Поддержать:
💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS
💵 В VK https://vk.com/donut/shurik.codes
💵 В Boosty https://boosty.to/akosarev/donate
💵 ЮМани 5599 0050 8286 9475
Друзья, я обновил статью, дополнив информацией об ошибке UnknownHostException и её решением
📖 Запуск Apache Kafka с ZooKeeper
С выпуском версии 4.0 Apache Kafka лишится поддержки ZooKeeper, и единственным вариантом развёртывания кластера останется использование KRaft, о котором было рассказано в одной из предыдущих статей. Несмотря на это, я предлагаю в этой статье рассмотреть вариант развёртывания кластера Apache Kafka с кворумом Apache ZooKeeper.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
#kafka #zookeeper
💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqy
Поддержать:
💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS
💵 В VK https://vk.com/donut/shurik.codes
💵 В Boosty https://boosty.to/akosarev/donate
💵 ЮМани 5599 0050 8286 9475
📖 Запуск Apache ZooKeeper в кластере
Сервис Apache ZooKeeper применяется в качестве сервера метаданных и конфигураций сервисов и часто используется для реализации механизма поиска сервисов (Service Discovery). Например, в Apache Kafka, популярном инструменте для организации обмена сообщениями в распределенных системах, до версии 4.0 ZooKeeper может использоваться в качестве хранилища метаданных кластера. Как и любой другой компонент распределённой системы ZooKeeper желательно запускать в кластере для обеспечения отказоустойчивости системы, чему посвящена данная статья.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
💬 Обсудить в Telegram
Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff | 💵 ЮМани 5599 0050 8286 9475
#devops #zookeeper
📰 Релиз Apache Kafka 3.9.0
На прошлой неделе, 9 ноября, была опубликована новая версия Apache Kafka 3.9.0,
По словам разработчиков, версия 3.9.x - последняя перед релизом 4.0, который ожидается уже в четвёртом квартале 2024 года (ну или в крайнем случае - в январе 2025 года).
❓Что нового в 3.9
Главное нововведение в Apache Kafka 3.9 - многоуровневое хранилище. Несмотря на то, что Apache Kafka теоретически может работать и без удаления старых сообщений, сопровождение кластера с большим объёмом старых данных может быть не самой простой задачей. Разработчики Kafka предложили решение этой проблеме - многоуровневое хранилище, которое подразумевает разделение на локальное хранилище - для оперативных данных, и на удалённое - для исторических. По умолчанию многоуровневое хранилище отключено, но может быть включено при помощи параметра
remote.log.storage.system.enable на уровне брокера и remote.storage.enable - на уровне топика.
Устаревающие сообщения будут перемещаться из локального в удалённое хранилище.
❗️Завершение поддержки Apache ZooKeeper
А ещё Apache Kafka 3.9 - последний релиз с поддержкой ZooKeeper, с релизом 4.0 она будет удалена, как и инструменты для миграции с ZooKeeper на KRaft.
#kafka #новости📖 Apache Kafka: партиции и реплики
Проект Apache Kafka разрабатывался с прицелом на применение в высоко нагруженных и отказоустойчивых системах. Кроме развёртывания сервисов в кластере, которому была посвящена предыдущая статья, высокую производительность и отказоустойчивость обеспечивают партиции и реплики.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
💬 Обсудить в Telegram
Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff | 💵 ЮМани 5599 0050 8286 9475
#kafka
📖 Запуск Apache Kafka в кластере
Как и любой другой компонент распределённой информационной системы Apache Kafka в условиях реальной эксплуатации рекомендуется разворачивать в кластере для обеспечения отказоустойчивости. Кластер Kafka может быть развёрнут в двух вариантах: с использованием KRaft и Apache ZooKeeper.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
💬 Обсудить в Telegram
Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff | 💵 ЮМани 5599 0050 8286 9475
#kafka #kraft #cluster
📖 Начало работы с Kafka
Apache Kafka является одной из наиболее популярных систем для обмена сообщениями в распределённых информационных системах. В этой статье рассматривается базовое устройство Kafka, терминология, установка и запуск для локальной разработки, а так же выполнение базовых операций из командной строки и из приложения на языке программирования Java.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
📖 Читать в Дзене
💬 Обсудить в Telegram
Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff | 💵 ЮМани 5599 0050 8286 9475
#mq #kafka
📖 Про очереди сообщений
Очереди сообщений — это очень большая тема, которую невозможно охватить парой статьей или роликов. Отчасти это связано с тем, что в настоящее время существует большое количество систем обмена сообщениями, реализующих схожие механизмы, но делающих это по-разному. В этой статье я хочу попытаться в общих чертах рассказать о том, что такое очереди сообщений, брокеры очередей сообщений, потоки (стримы), а также о том, зачем они нужны. В последующих статьях я постараюсь более предметно рассказать о конкретных реализациях очередей сообщений и их практическом применении.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
📖 Читать в Дзене
💬 Обсудить в Telegram
Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff | 💵 ЮМани 5599 0050 8286 9475
#mq #kafka #rabbitmq #activemq
Redis: основные типы данных и операции
Redis — это популярная нереляционная база данных, реализующая хранилище типа "Ключ — Значение". Данная статья посвящена основным типам данных и операциям и является вступительной к серии статей о Redis, в рамках которой будет рассматриваться и работа с Redis при помощи Spring Data.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
📖 Читать в Дзене
💬 Обсудить в Telegram
Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff
#redis #nosql
P.S.: не за горами вводная статья об очередях сообщений
Redis: основные типы данных и операции
Redis — это популярная нереляционная база данных, реализующая хранилище типа "Ключ — Значение". Данная статья посвящена основным типам данных и операциям и является вступительной к серии статей о Redis, в рамках которой будет рассматриваться и работа с Redis при помощи Spring Data.
📖 Установка JDK в Windows
В предыдущей статье вкратце было рассказано про JDK, JRE И JVM, а в этой статье я предлагаю рассмотреть три способа установки JDK в операционной системе Windows: при помощи инсталлятора, утилитой winget и вручную.
📖 Читать на сайте
📖 Читать в VK
📖 Читать в Telegraph
📖 Читать в Дзене
💬 Обсудить в Telegram
Поддержать: 💵 В VK | 💵 В Boosty | 💵 Через Tinkoff
#java #jdk #windows
