Обновить
32K+

Apache *

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

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

Что такое «хорошо» и что такое «плохо» в NiFi. Часть 3

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

Переносимость процессоров и паттерны

Вот и обещанная третья часть саги о том, что в NiFi можно делать и как это делать правильно, без претензий на истину в последней инстанции, конечно. Сегодня расскажу о переносимости процессоров и дам несколько паттернов для самых популярных задач на платформе ZIIoT. Если вдруг вам интересно почитать про оптимизацию схем и производительности в NiFi — велком в первую часть. Если мечтаете узнать больше о мониторинге, то вторая часть — must read. Только потом сюда не забудьте вернуться.

Читать далее

Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры

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

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

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

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

Читать далее

Аутентификация клиента Kafka SSL в мультитенантной архитектуре

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

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

Читать далее

Градиентный бустинг: как подобрать гиперпараметры модели в 5 раз быстрее, чем обычно?

Уровень сложностиСложный
Время на прочтение36 мин
Охват и читатели8.1K

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

Читать далее

Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции

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

При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени. 

В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.

Читать далее

Как Flink Table API упрощает разработку

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

Apache Flink является популярным фреймворком для обработки больших данных и аналитики в режиме реального времени. Одним из ключевых компонентов этого фреймворка является Table API, который предоставляет удобный и выразительный способ работы с данными в формате таблиц, аналогичный SQL.

Если вы разработчик, который хочет узнать больше о том, как использовать Apache Flink Table API для обработки потоковых данных, или если вы интересуетесь современными инструментами аналитики данных, эта статья для вас.

Читать далее

Что такое «хорошо» и что такое «плохо» в NiFi. Часть  2

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

Мониторинг 

Продолжаем разговор о том, что в NiFi делать можно и нужно, а что можно, но лучше не стоит. Если вы пропустили первую часть разговора, то вам сюда. Там про улучшение читаемости схем и повышение производительности (ну почти). Здесь же пойдет речь о том, как проводить мониторинг бизнес-части схемы, чтобы всем было хорошо (ну или чтобы не было плохо), ну и немного о переносимости процессоров. Поехали!

Есть мнение, что хуже всего — не вести мониторинг бизнес-части схемы совсем, используя популярный подход «и так сойдет!». Но если подумать, есть одна вещь хуже отсутствия мониторинга — неправильный мониторинг.

Читать далее

Apache Airflow в связке с Kubernetes

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

Привет! Меня зовут Алексей Карпов, я DevOps-инженер (MLOps) отдела ML разработки в OKKO. Хочу поделиться опытом в работе с Apache Airflow в связке с Kubernetes. Расскажу, как установить Airflow в Kubernetes, настроить автоматическую синхронизацию DAG'ов с удалённым репозиторием, а также как отладить его работу. Всё это — на примере запуска простейшего DAGа. 

Читать далее

Консолидация отображения данных с использованием протокола OData

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

Появилась у нас тут задачка, вывести на портале Incomand данные из разных подсистем (1С, Тезис…) . Конечно можно было бы написать плагины, каждый из которых слазил бы в подсистему, получил данные и показал их на портале - НО - мы бы получили p2p и спагетти, порталу пришлось бы разбираться с форматами и протоколами работы каждой системы….

Читать далее

Работа Apache Kafka на примерах. Поднимаем Kafka Cluster используя docker-compose

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

В этой статье продемонстрирую и объясню работу Kafka, используя как можно меньше определений и больше практики. Мы рассмотрим 3 сценария работы с Kafka. Для последнего сценария мы поднимем Kafka Cluster в Docker и с помощью UI увидим, как происходит общение между сервисами.

Читать далее

Kafka за 20 минут. Ментальная модель и как с ней работать

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

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.

Читать далее

Как мы распиливаем монолит без даунтайма

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

Всем привет!

На связи Михаил, и я продолжаю делиться историями про рефакторинг одного из сервисов облачной платформы #CloudMTS. В прошлый раз я рассказывал о том, как мы аккуратно раскладывали по папочкам код в соответствии с принципами чистой архитектуры. Сегодня поговорим о решении, которое позволяет нам распиливать монолит по кусочкам без простоев.

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

Наши причины перехода были следующими:

  1. В монолите концентрировалось большое количество бизнес-процессов, которые охватывали сразу несколько потребителей: пользователей облачной платформы, сейлз-менеджеров (через CRM-систему), администраторов, обработчиков метрик. Получилась такая одна большая точка отказа сразу для 4 групп бизнес-процессов.
  2. Каждый бизнес-процесс потребляет свой объем ресурсов. Например, для обработки метрик нужно 5 подов (чтобы запараллелить и ускорить обработку), для администрирования хватит и одного. Так как у нас все в одном сервисе, при масштабировании монолита мы будем ориентироваться на самый «прожорливый» бизнес-процесс. Часть ресурсов будет просто простаивать.
  3. Хотелось добиться гранулярности, чтобы независимо писать и деплоить код для каждого бизнес-процесса. И не переживать, что какие-то изменения в одном бизнес-процессе неожиданно отрикошетят в соседний.

Читать дальше →

Проблемы приземления данных из Kafka и их решения на Apache Flink

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

Меня зовут Вадим Опольский и я работаю data-инженером и участвую в проведении онлайн-тренингов. В статье есть ссылки на воркшопы, чтобы повторить практические вещи из Apache Flink, о которых я расскажу. А обсудим мы следующие проблемы:

➜ Неравномерный поток данных;

➜ Потери данных при передаче их из Kafka в storage;

➜ Масштабирование и скейлинг;

➜ Backpressure;

➜ Мелкие файлы на HDFS;

➜ Стриминговый процессинг.

Читать далее

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

Как дать крылья своей сводной таблице в Apache Superset

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

Эта статья посвящена особенностям доработок в Apache Superset, и в ней я расскажу, как его можно использовать для визуализации больших объемов данных в рамках сводных таблиц.

Хочу читать дальше

Обеспечение безопасности в Apache Kafka

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

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

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

В статье мы будем говорить о встроенных в Kafka механизмах защиты и не будем касаться использования каких-либо наложенных средств.

Читать далее

Книга «Apache Kafka. Потоковая обработка и анализ данных, 2-е издание»

Время на прочтение13 мин
Охват и читатели9.8K
image Привет, Хаброжители!

При работе любого корпоративного приложения образуются данные: файлы журналов, показатели, информация об активности пользователей, исходящие сообщения и другие. Правильное управление этими данными не менее важно, чем сами данные. Если вы архитектор, разработчик или инженер-технолог, но вы пока не знакомы с Apache Kafka, то из этой обновленной книги вы узнаете, как работать с потоковой платформой Kafka, позволяющей обрабатывать потоки данных в реальном времени. Дополнительные главы посвящены API AdminClient от Kafka, транзакциям, новым функциям безопасности и изменениям в инструментарии.

Инженеры из Confluent и LinkedIn, ответственные за разработку Kafka, объясняют, как с помощью этой платформы развертывать производственные кластеры Kafka, писать надежные управляемые событиями микросервисы и создавать масштабируемые приложения для потоковой обработки данных. На подробных примерах вы изучите принципы проектирования Kafka, гарантии надежности, ключевые API и детали архитектуры.
Читать дальше →

Как объяснить детям, что такое DNS, Kafka, Kubernetes, облака

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

Мы в #CloudMTS разделяем мнение, что важно объяснять своим детям устройство различных цифровых технологий. Но пытались ли вы когда-нибудь рассказать ребенку о, например, Apache Kafka as a Service? Ответ на вопрос, «чем занимается папа/мама?» может оказаться гораздо сложнее, чем хрестоматийное «почему небо голубое, солнце желтое, а трава зеленая?».

Поэтому не удивительно, что однажды мы решили собрать вместе несколько ресурсов, которые помогут нашим (и вашим) детям узнать больше об ИТ.  Кроме того, умение объяснить доступным языком, как работает та или иная технология, помогает лучше разобраться в вопросе. Такой навык пригодится, если приходится часто взаимодействовать с не техническим персоналом — например, бухгалтерами или маркетологами.

Читать далее

Разворачиваем Apache Kafka

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

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

Для запуска Kafka можно использовать решения для управления кластером, такие как ZooKeeper или KRaft. В статье мы рассмотрим работу с ZooKeeper. Zookeper это распределенное приложение для управления кластером, состоящим из большого количества узлов.

Читать далее

Приложения в Kubernetes: быстрый запуск Kafka с KRaft

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

Сегодня у нас будет возможность установить Kafka с одной из самых простых конфигураций. Эта установка не оптимизирована для производственных сред, но идеально подходит для быстрой и локальной разработки.

Apache Kafka — это фреймворк, реализующий программную шину, использующую потоковую обработку. Это программная платформа с открытым исходным кодом, разработанная Apache Software Foundation и написанная на Scala и Java. Проект направлен на предоставление унифицированной платформы с высокой пропускной способностью и малой задержкой для обработки потоков данных в реальном времени.
Иными же словами распределенная система обмена сообщениями между серверными приложениями в режиме реального времени.

Эта установка Kafka использует проект ранней версии под названием Apache Kafka Raft (KRaft). Это проект, в котором устранена зависимость от ZooKeeper.

Читать далее

Оптимизируем NiFi Flow. Настройка Load Balancing, подходы к Scheduling и выбор метода merge

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

Если вы используете в своей работе NiFi, то наверняка не раз задумывались об оптимизации, а может быть и делали ее. В этом посте я поделюсь своими наработками в области настроек NiFi, благодаря которым мы получили позитивные результаты и улучшили работу наших собственных сервисов. А если конкретно, речь пойдет про выбор стратегии балансировки нагрузки между нодами кластера (load balancing), настройке работы процессоров NiFi в рамках одной ноды (Concurrent tasks, Run Duration), а также о том, что делать с косяками Merge Record. Если интересно, ныряйте под кат и давайте обсудим, что еще хорошего можно сделать с NiFi. 

Читать далее