
Привет, Хабр! На связи Давид Саргсян. Я занимаюсь системным анализом цифровых продуктов банка ПСБ.
В этой статье расскажу о том, как не упустить ничего важного на этапах выбора концепции и проектирования вашей будущей интеграции.
Свободный веб-сервер
Привет, Хабр! На связи Давид Саргсян. Я занимаюсь системным анализом цифровых продуктов банка ПСБ.
В этой статье расскажу о том, как не упустить ничего важного на этапах выбора концепции и проектирования вашей будущей интеграции.
Apache Flink — это фреймворк и распределенный движок обработки данных, поддерживающий какпакетную (ограниченную), так и потоковую (неограниченную)обработку данных. Это значит, что с его помощью можно обрабатывать как статичные (неизменяемые) данные, так и данные, поступающие в реальном времени.
Apache Kafka — это распределенная платформа, которая передает и обрабатывает данные в режиме реального времени. Ее используют для логирования, передачи событий, потоковой аналитики и интеграции микросервисов.
Для работы с данными внутри Kafka есть Kafka Streams — библиотека, которая помогает строить потоковые приложения. С ее помощью можно обрабатывать события в реальном времени, например, выполнять ETL-процессы без использования внешних систем.
В статье рассказываем, как устроен Kafka Streams, и разбираем практические примеры его применения.
Привет, Хабр! Я Георгий Новожилов, инженер данных в «ДАР» (ГК «КОРУС Консалтинг»).
В моём стеке и стеке моих коллег Airflow, можно сказать, незаменим. Он помогает нам планировать, запускать и отслеживать сотни задач обработки данных, которые крутятся в кластере каждый день.
22 апреля 2025 года компания Apache выпустила новую версию своего оркестратора, которая была в разработке последние 4 года. Среди ключевых изменений — новый интерфейс, обновлённая и защищённая архитектура, а также стабильный интерфейс разработки.
В этой статье предлагаю рассмотреть, какие ещё нововведения нам привезли в масштабном обновлении Apache Airflow 3.0.0.
Эксперты компании «Криптонит» проанализировали главные тренды использования Apache Spark в бизнесе, выделили особенности его применения в России и спрогнозировали дальнейшее развитие на основе выявленных тенденций.
Растущая востребованность Spark объясняется не только открытым исходным кодом и гибкостью, но и лёгкостью интеграции с современными технологиями — от машинного обучения до облачных платформ.
«В России Apache Spark становится не просто популярным фреймворком для обработки данных, а частью экосистемы отечественных решений в сфере Big Data. Особенно это касается объектов критической инфраструктуры, где всегда отдаётся предпочтение только самым надёжным и проверенным решениям», — пояснил Иван Попович, руководитель направления обработки данных компании «Криптонит».
Для критически важных отраслей (госуправление, финансы, энергетика) важна локализация данных и соответствие требованиям регуляторов.
«Открытый исходный код здесь играет ключевую роль, так как обеспечивает прозрачность и возможность тщательной верификации. Также он даёт уникальную возможность адаптировать решение под конкретные требования проекта. Хотя само по себе наличие открытого кода не является гарантией безопасности, Apache Spark за 15 лет своего развития доказал эффективность и надёжность в самых различных областях применения», — добавил эксперт.
В последние годы Spark проникает в новые сферы. Он всё активнее используется в агропромышленном комплексе, энергетике, нефтегазовой и химической отрасли. В основном его применяют для оптимизации производства, прогнозирования аварий и повышения энергоэффективности.
В современных распределенных системах, где компоненты могут быть реализованы на разных языках программирования, возникает необходимость в эффективной коммуникации между ними. Брокеры сообщений играют ключевую роль в этом процессе, обеспечивая асинхронную передачу данных и снижая зависимость между модулями. Однако для бесперебойного взаимодействия критически важно выбрать наиболее универсальный формат обмена информацией. Ведь важно понять, что и как мы будем передавать, и тут есть несколько вариантов.
Привет, Хабр!
Сегодня рассмотрим, почему отставание у Kafka-консьюмеров — это не просто строчка в kafka-consumer-groups
, а метрика, от которой зависит SLA вашего сервиса. Рассмотрим, как её считать без самообмана, как соорудить собственный мониторинг на Python и Go, а главное — чем именно тушить всплески lag’а: throttle, autoscale и backpressure.
В данной статье приводится решение проблемы построения витрин данных в реальном времени с помощью Apache Flink. Рассказывается 2 часть подробной реализации решения этой задачи. В данной части рассмотрена проблема учета сообщений на удаление и частично операций update
, в связи с чем достигается полная консистентность данных СИ с СП при условии гарантии, что ключ join условия не обновляется.
Статья посвящена реализации join-операций в системах потоковой обработки данных на базе Apache Flink. Рассматриваются основные подходы к объединению потоков в реальном времени, включая inner join
, а также паттерны дедупликации. Уделено внимание использованиюKeyedCoProcessFunction
для построения отказоустойчивых и масштабируемых join-пайплайнов. Работа ориентирована на инженеров, строящих real-time витрины и сложные трансформации на Flink в продакшене.
Вместе с экспертом по работе с данными рассказываем об удобном инструменте, который помогает управлять данными и организовывать их взаимодействие между собой.
Разбираемся, что это за инструмент, какие у него есть плюсы, минусы и аналоги.
Apache ZooKeeper — это сервис, который помогает разным частям распределенной системы (серверам, приложениям, процессам) работать согласованно.
TL;DR: KIP‑1150 (Diskless Topics) предлагает Kafka писать сообщения сразу в облачное хранилище (S3 и аналоги), минуя диски брокеров. Это сильно экономит деньги и упрощает масштабирование в облаке, но увеличивает задержки и делает Kafka зависимой от облачных сервисов. Отлично для дешёвых, «толстых» потоков логов, но плохо подходит для real‑time систем с миллисекундными требованиями.
Представим себе картину из идеального мира данных, в котором всё стабильно, изменений нет и на горизонте не предвидятся. Аналитик полностью согласовал с заказчиком требования к витрине, спроектировал решение и передал в разработку. Разработчики внедрили витрину в продуктивный контур, пользователи счастливы, всё работает корректно — сопровождение разработчиков и аналитиков не требуется. Представили?
Но, как мы знаем, «IT» и «изменения» — синонимы, поэтому в идеальном мире, как гром среди ясного неба, появляются новые требования: разработать инструмент для регулярного добавления в витрину данных новых атрибутов, на текущий момент в неизвестном количестве.
Сразу отмечу, что решения и оценки, о которых пойдёт речь, подбирались для работы с большими данными на стеке технологий Apache Hadoop, где для обработки данных использовали фреймворк Apache Spark, СУБД — Apache Hive для анализа данных, оркестратор — Airflow, данные хранятся в колоночном формате Parquet.
Привет, Хабр! Меня зовут Лев Маковеев. Я младший инженер по обработке данных в компании «Криптонит». В этой статье хочу поделиться с вами результатами небольшого исследования, в ходе которого мы протестировали ускоритель запросов Apache DataFusion Comet и пришли к довольно впечатляющим результатам. Забегая вперёд, отмечу, что в отдельных тестах ускорение было более чем десятикратным!
В мире распределённых систем выбор брокера сообщений — это не просто вопрос технологии, а стратегическое решение, от которого зависит надёжность, масштабируемость и устойчивость всей архитектуры. Несмотря на популярность решений вроде Apache Kafka и Amazon SQS, их выбор часто бывает продиктован модой или привычкой, а не реальными потребностями приложения.
В этой статье подробно разберём ключевые отличия между потоковыми и очередными брокерами, особенности их масштабирования, работы с ошибками и поддержки разных паттернов обмена сообщениями — от команд до передачи состояния.
Статья рассматривает внедрение Open Policy Agent (OPA) для управления авторизацией в кластерах Apache Kafka на bare metal‑серверах.
В рамках статьи проанализированы ограничения стандартных ACL и предложено решение на основе Open Policy Agent (OPA), обеспечивающее декларативное управление доступом через Policy as Code (PaaC). Особое внимание уделено обновлению OPA Kafka Plugin: создан pull request, в котором устранены уязвимости привносимые в OPA библиотекой Guava и реализован переход на более производительную библиотеку Caffeine. Описан процесс интеграции OPA с Kafka, включая автоматизацию доставки политик через Bundle API и S3-хранилище.
Apache Kafka является одной из самых популярных платформ для обработки потоков данных, обеспечивая высокую пропускную способность и низкие задержки при передаче сообщений. В высоконагруженных системах, где необходимо обрабатывать миллионы сообщений в секунду, важность правильной настройки Kafka трудно переоценить. Без оптимизации её параметров можно столкнуться с серьёзными проблемами, такими как рост задержек, потеря сообщений и переполнение очередей. Эффективная настройка Kafka критична для обеспечения бесперебойной работы в условиях высокой нагрузки и стабильной обработки данных в реальном времени.
Цель этой статьи — рассмотреть основные аспекты настройки Apache Kafka, которые влияют на производительность системы. Мы сосредоточимся на оптимизации параметров брокеров и продюсеров для достижения максимальной пропускной способности, минимальных задержек и надежности. Также рассмотрим важность мониторинга и тестирования системы для своевременного выявления и устранения узких мест.
Добрый день! Меня зовут Богдан, я тимлид в одном из отечественных финтехов. Сегодня я хочу поделиться нашей историей: как нам удалось, ненарочно, зашедулить падение всех нод одного из наших кластеров Kafka.
В один из холодных февральских дней пришло сообщение от мониторинга с виртуальных машин кластера Kafka: «Свободное дисковое пространство достигло значения < 15%». Было решено исследовать, нужно ли добавлять дискового пространства или же можно потюнить настройки ретеншена данных.
Тут стоит немного вспомнить теорию. Как известно, в Kafka сообщения распределяются по партициям, а каждая партиция на брокере представлена набором сегментов. Число сегментов у партиций может быть разным — оно варьируется в зависимости от интенсивности записи и настроек размера сегмента.
Сегмент (если упростить) — это лог-файл, в который просто пишутся данные в конец. По достижении временного предела либо его размера он ротируется: создается новый сегмент, и запись идет уже в него.
Держа вышесказанное в голове, мы отправились смотреть настройки хранения сегментов в нашем кластере Kafka..
В этой статье мы рассмотрим, какие методы передачи пароля через интернет наиболее безопасны. Хэширование паролей или протокол TLS — что выбрать для защиты данных? Разберемся, как работают эти технологии и какие риски скрываются за каждой из них.
Столкнулся с небольшим и интересным моментом: внедрение переменных окружения (а ля environment variables) в стандартный микросервис написанный на Java (классика жанра – Spring Boot).