Обновить
64K+

Apache *

Свободный веб-сервер

29,57
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Ваш Kafka lag врёт: как настроить алерты по реальной задержке, а не по числу сообщений

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6K

Алерт по Kafka lag выглядит убедительно, пока не приходится объяснять, что именно значат «50 000 сообщений отставания» для пользователей и SLA. В статье разбираем, почему offset lag часто создает ложное ощущение контроля, где ломаются популярные подходы к расчету задержки и как перейти к мониторингу по реальному time lag.

На примере klag-exporter покажем, как считать задержку через таймстемпы сообщений, настроить метрики для Prometheus и Grafana и сделать алерты, которые помогают дежурному инженеру понять критичность проблемы без гадания по дашборду.

Разобрать Kafka

Новости

Про 11 типичных ошибок при проектировании интеграции с помощью Kafka на примерах

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели7.8K

Всем привет! На связи Антон Воробьёв — архитектор в Альфа‑Банке. Некоторое время назад у нас появился нативный порт C‑клиента librdkafka, который сделали наши коллеги из компании BTC. Чтобы порт работал быстрее, мы допортировали последнюю на тот момент версию librdkafka 2.3, разобрались с оптимизациями под нашу специфичную ОС, починили все юнит‑автотесты в её составе, сделали свои, и внедрили в июне 2024 года. На сегодня порт отправляет ежедневно 100 миллионов сообщений в 50+ топиков и суммарно в сотни партиций, примерный объём — 200 ГБ в неделю.

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

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

Читать далее

Iceberg без Spark для каждой мелочи: UPDATE, DELETE и MERGE INTO из одного SQL-движка в Apache Doris 4.1

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели13K

Apache Doris 4.1 добавляет UPDATE, DELETE и MERGE INTO на Iceberg-таблицы прямо из SQL-клиента — без отдельного Spark job. Iceberg V3 Deletion Vectors и Row Lineage делают этот DML архитектурно здоровым: нет линейной деградации от delete files, нет false positives в CDC после compaction. Перевод и адаптация статьи Mingyu Chen (CC BY 4.0) с бенчмарками, SQL-примерами и Quick Start.

Читать далее

Как подключить Kafka UI к кластеру Kafka в DBaaS

Время на прочтение8 мин
Охват и читатели9K

Работать с Kafka в DBaaS — удобно: инфраструктура поддерживается сильно проще, пока вы фокусируетесь на логике приложения. Но есть нюанс: прямой доступ к брокерам и CLI ограничен. Это усложняет отладку, анализ данных и диагностику consumer — особенно если у вас десятки топиков и групп.

Kafka UI — это Open Source-инструмент, который решает описанную проблему: он предоставляет веб-интерфейс для просмотра топиков, сообщений и состояния consumer groups без прямого доступа к брокерам.

На связи Ксения Ершова, проектировщик интерфейсов в Selectel. В статье расскажу, как развернуть на облачном сервере Kafka UI в публичном доступе, подключить его к Kafka-кластеру в DBaaS Selectel и проверить, что все работает.

Читать далее

Книга: «Apache Kafka в действии. От базовых концепций до продакшена»

Время на прочтение2 мин
Охват и читатели5.6K

Привет, Хаброжители! Apache Kafka — это эталонная платформа для аналитики в реальном времени, передачи событий и потоковой обработки. Выступая в качестве центрального узла для распределенных данных, Kafka обеспечивает беспрепятственный обмен между продюсерами и потребителями по модели «издатель — подписчик». Kafka легко обрабатывает миллионы событий в секунду, а его надежная архитектура гарантирует высокую отказоустойчивость и масштабируемость.

Читать далее

Apache Cloudberry — преемник Greenplum?

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.8K

Greenplum много лет был в опенсорсе на GitHub под лицензией Apache 2.0. Казалось бы, лицензия Apache 2.0, что может пойти не так? Осенью 2023 года репозиторий неожиданно перестал принимать наши пул‑реквесты. Все наши CLA отозвали, а новые не подтвердили без каких‑либо пояснений.

А в мае 2024-го репозиторий был закрыт. Да, к опенсорс‑проекту могут потерять интерес — и он окажется заброшен. Но здесь, по сути, присвоили наши пул‑реквесты, изменив лицензию у кода, который мы написали, просто потому, что «ничего личного, это бизнес». Обстоятельства менялись, и вот — новые правила использования БД. Твои опыт и достижения либо присваиваются корпорацией, либо обнуляются.

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

Читать далее

Очерки установки Zabbix на Lubuntu

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели7K

В начале Апреля 2026 года устанавливал я Zabbix 7.4, самой новый на тот момент, на LUbuntu v. 25.10 - тоже самой новой на начало апреля.

Выбрал пакетный вариант установки.

Читать далее

Обзор Compo ESB

Время на прочтение6 мин
Охват и читатели4.7K

На связи Сергей Скирдин, технический директор компании «Белый код». Поставил себе цель — сделать обзоры на шины данных из реестра отечественного ПО. Сегодня в обзоре Compo ESB.

С 2024 года я встречаюсь с вендорами и делаю обзоры продуктов, которые относятся к классу ESB. За это время удалось пообщаться с разработчиками 20+ разных решений. Для всех, кто интересуется шинами данных, я также создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина.

Читать далее

Платформа данных на минималках. Часть 1: проблемы Data Lake и роль Iceberg

Время на прочтение11 мин
Охват и читатели9.2K

Представим ситуацию: у нас есть сервисы, которые пишут логи событий и сообщения из очередей (Kafka, RabbitMQ) в формате Avro для гарантии схемы и потоковой доставки. В это же время отдел машинного обучения работает с датасетами в Parquet — ребята ценят столбцовое хранение и производительность на скалярных чтениях.  Соседняя команда фиксирует фактовые таблицы в ORC, поскольку этот формат подходит для тяжелых аналитических агрегаций. 

Пока объемы данных измерялись гигабайтами, такой «зоопарк форматов» был терпим: каждый отдел использовал свой инструмент, а данные копировались между ними через ETL-конвейеры. Но с ростом до терабайтов и выше эта архитектура начинает ломаться: запросы становятся медленными, стоимость хранения и вычислений стремительно растет, а главное — теряется единый источник истины. Теперь одна и та же бизнес-сущность существует в трех разных форматах, схемах и состояниях. 

В этот момент возникает потребность не в очередном хранилище, а в табличной абстракции поверх существующих форматов. Такой слой должен обеспечивать ACID-транзакционность, централизованное управление схемой и единый каталог для всех потребителей — от потоковой инженерии до машинного обучения и BI. Именно так и приходят к Apache Iceberg и к идее построения собственной платформы данных.

Читать далее

Kafka. WebClient. Feign. WebSocket. Или как общаются микросервисы

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.7K

Начнем с того, как микросервисы могут общаться? На самом деле все просто, сложные приложения могут состоять из нескольких разных микросервисов.

Каждый сервис будет иметь свою логику, свою ответственность. Сервисы одной системы могут быть написаны на разных языках программирования. Однако это не будет мешать им общаться. Так вот общение это буквально - обмен информацией. Обмен сообщениями определенного формата, который смогут понять все сервисы. Это похоже на общение между нами. Я говорю что-то собеседник слушает информацию, дальше обрабатывает ее неким образом своим мыслительным аппаратом и формирует ответное сообщение и проговаривает его вслух адресуя голос в направлении оппонента. Для отправки сообщения нам людям, нужно знать адресата или видеть его, для того, чтобы обратиться к нему.

Адресату, нужно слышать и в идеале уметь понимать на каком языке говорит другой человек. Если вы знаете несколько языков, то вы сможете принять сообщение на одном языке обработать его и перевести в своей голове и выдать перевод другому человеку. Все эти модели общения похожим образом перекладывают на взаимодействие между сервисами.

Читать далее

Kafka для начинающих: Apache Avro и Schema Registry (практика)

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели11K

Переводим нашу платформу с JSON на Apache Avro и Schema Registry. Заменяем сериализаторы и десериализаторы, генерируем классы из схем и разбираем разницу между GenericRecord и SpecificRecord.

Практика на реальном проекте.

Читать далее

Разработка BI-аналитики для застройщика в Apache Superset

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.2K

На старте у клиента уже были дашборды, но они не закрывали текущие задачи бизнеса. Данные находились в разных системах — 1С, Excel, Google Таблицы, XML-выгрузки и внутренняя система.

Клиент принял решение выстроить аналитику заново и выбрал Apache Superset как инструмент визуализации. Сначала собрали единый слой в PostgreSQL, настроили загрузку через Python, привели метрики к одной логике и зафиксировали правила расчётов.

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

В результате у клиента появилась система, где данные считаются одинаково для всех, автоматически обновляются и используются в работе без дополнительных проверок.

Читать далее

Укрощение 1С-Битрикс: оптимизация новостного сайта, который падал под нагрузкой

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.2K

Привет, Хабр! Расскажу, как мы спасли крупный новостной сайт ugra-news.ru от постоянных падений — без покупки нового железа и переписывания с нуля. Только точечные оптимизации, знание архитектуры Битрикс и немного детективной работы. Приступим.

Читать далее

Ближайшие события

Обзор MARS (Система маршрутизации и протоколирования)

Время на прочтение5 мин
Охват и читатели5.7K

На связи Сергей Скирдин, технический директор компании «Белый код». Поставил себе цель — сделать обзоры на шины данных из реестра отечественного ПО. Сегодня в обзоре продукт MARS (Система маршрутизации и протоколирования).

С 2024 года я встречаюсь с вендорами и делаю обзоры продуктов, которые относятся к классу ESB. За это время удалось пообщаться с разработчиками 20+ разных решений. Для всех, кто интересуется шинами данных, я также создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина. 

Читать далее

Как мы приручили JMX-файл на 50 000 строк: декомпозиция JMeter-тестов для нормального code review

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.6K

JMX-файл на 50 000 строк, merge-конфликты при каждом коммите и PR-ревью, которое никто не читает - знакомо? Я столкнулся с этим на реальном проекте и нашёл способ декомпозировать JMeter-тесты так, чтобы основной файл похудел в 10 раз, а работать с тестами стало можно прямо из IDE.

Уменьшить JMX в 10 раз

Apache Superset — боремся с фильтрами по дате. Часть 2

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели5.7K

В этой статье продолжаем борьбу с фильтрами по дате в Apache Superset. Сегодня разберем, как реализовать подобие логики remove_filter в старых версиях (до 5), чтобы виртуальный датасет не оборачивался фильтрами.

Читать далее

Как проектировать интеграции с Kafka

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.5K


Привет, Хабр!

Меня зовут Елизавета Колесникова, и вот уже 4 года я работаю системным аналитиком СПАО «Ингосстрах»

Этой статьёй я бы хотела начать серию материалов для аналитиков и разработчиков, которые только начинают свой путь в ИТ.

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

Если вам прилетала задачка, в рамках которой необходимо продумать, как Kafka будет взаимодействовать с вашей системой, но вы не особо знакомы с этой платформой, то моя памятка — как раз для такого случая.

Читать далее

Apache Superset — боремся с фильтрами по дате. Часть 1

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.6K

В этой статье хотелось бы начать раскрытие больной для многих пользователей Apache Superset темы — фильтры по дате. Начнем с малого: как суперсет выбирает колонку даты; как выбрать желаемую колонку вместо той, которую он выбирает; каким образом это реализовано; какие баги породили этим решением; почему КОП не доведет до добра.

Читать далее

Apache Superset 2026. Как работает Drill Down и Drill By

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.7K

Работая с аналитикой, мы часто сталкиваемся с одной и той же проблемой: данные есть, но исследовать их неудобно.

Представим типичную ситуацию. Есть таблица с десятками колонок и миллионами строк. Нужно понять, почему изменился какой-то показатель — например, выручка или конверсия. Обычно это превращается в цепочку SQL-запросов: сначала агрегируем данные по стране, потом по городу, потом по конкретному сегменту пользователей и тд.

Если таких гипотез несколько, количество запросов быстро растёт с геометрической прогрессией. Каждый новый уровень детализации требует отдельного SQL.

В какой-то момент хочется просто кликнуть по графику и мгновенно увидеть более детальные данные. Без написания нового запроса.

Именно здесь на помощь приходят BI-инструменты. Один из самых популярных open-source инструментов для аналитики — Apache Superset.

Читать далее

Kafka для начинающих: Apache Avro и Schema Registry (теория)

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели9.7K

Почему использование JSON как формата сообщений может стать узким местом в высоконагруженных системах? Что такое Apache Avro и Schema Registry?

Простым языком об этих технологиях, их работе и причинах их возникновения.

Читать далее
1
23 ...