Как стать автором
Обновить
11.39

Apache *

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

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

Прыжок горбатой лошади или как мы обновляем наши системы

Время на прочтение6 мин
Количество просмотров3K

Привет! Меня зовут Евгений Сальников и я тимлид одной из команд Outbound, которая входит в департамент Business Process Automation в Lamoda. В нашем направлении мы отвечаем за сервисы доставки.

Эта статья написана по мотивам реальной задачи по обновлению нашей большой системы, а именно — переход с очень старой версии Apache Camel на актуальную. Я не расскажу чего-то особо нового, но если у вас уже есть Apache Camel и вам «только спросить», как с ним управляться — милости просим.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Как мы построили корпоративную шину данных на Kafka, которая обрабатывает до 3 млн сообщений в секунду

Время на прочтение10 мин
Количество просмотров26K

Привет! Меня зовут Иван Гаас, я руковожу автоматизацией процессов разработки в Почтатехе — компании, создающей цифровые продукты для Почты России.

Среднее количество сообщений, которые мы обрабатываем в Почте — от 500 тысяч до миллиона в секунду. В пики, когда наша big data прогоняет свои 25 петабайт данных — до 3 миллионов. При этом кластер Kafka состоит всего из 12 серверов в каждом из 3 дата-центров и справляется с этим.

C 2016 года мы в три раза увеличили количество новых цифровых сервисов. Корпоративная шина на Kafka помогла быстро масштабироваться: количество интеграций за последнее время упало с 1000 до 300 и теперь растёт незначительно. Если раньше интеграция сервиса растягивалась на месяцы, то теперь достаточно нескольких дней.

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

Читать дальше
Всего голосов 37: ↑36 и ↓1+35
Комментарии14

Apache Camel: direct для новичков

Время на прочтение2 мин
Количество просмотров3.2K

Многие из вас давно работают с различными Java-фреймворками, их в опенсорсе целое множество, и у каждого есть свои преимущества и недостатки. Сегодня хотим обсудить Apache Camel, а именно, компонент direct. Эта статья от инженера-программиста Nexign Андрея Малыгина будет полезна тем, кто уже работает на этом фреймворке и хочет сделать свою работу чуточку легче.

Узнать больше о компоненте direct
Всего голосов 4: ↑2 и ↓20
Комментарии1

Истории

Поднимаем Apache Superset — необходимый и достаточный гайд

Время на прочтение9 мин
Количество просмотров39K

Пингвины для привлечения внимания. Как поднять Apache Superset, подключить к нему локальный Postgres и чтобы потом на вас коллеги не смотрели косо.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии12

Apache Kafka. Безопасность, мониторинг и управление кластером

Время на прочтение21 мин
Количество просмотров30K

Мы расскажем, как настроить безопасность кластеров Kafka и Zookeeper, какие инструменты можно использовать для мониторинга и управления кластером, а также про особенности продукта, с которыми мы столкнулись.

 Почему Apache Kafka?

 Apache Kafka — это унификация. Десятки поставщиков и потребителей, миллионы сообщений в день и огромные массивы данных — для этого нужна надежная, отказоустойчивая и высокопроизводительная шина данных. Существует множество версий дистрибутивов Apache Kafka, например vanilla kafka, oбразы от confluent, bitnami, wurstmeister и т.д. Мы расскажем про решение на базе сборок от Confluent в виде Docker-образов. Оно самое надежное в плане информационной безопасности. Конфигурирование и запуск контейнеров с Kafka в данном случае происходит с помощью docker-compose.

 За время работы с Kafka мы прошли  путь от «коробочного» решения до тонкой настройки безопасности кластера, применения TLS шифрования и разворачивания по рекомендациям вендора по построению геораспределенного кластера. В конфигурации «из коробки» нет первоначальных настроек безопасности. Для контроля доступов, вносимых изменений и безопасного взаимодействия перед нами встала задача настройки на кластере Apache Kafka TLS шифрования, аутентификации и авторизации средствами встроенного ACL.

 TLS шифрование

Обеспечивает шифрование соединения между брокерами Kafka, серверами Zookeeper, клиентами и брокерами. Вся ключевая информация помещается в хранилища — keystore, которые разделяют на два вида:

keystore, где хранятся ключи и сертификаты стороны, в отношении которой пройдет процедура аутентификации и установления защищенного соединения, например, приватный ключ и ассоциированный с ним и подписанный со стороны центра сертификации (ЦC) сертификат.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Добро пожаловать в семью

Время на прочтение9 мин
Количество просмотров3.7K

Привет, Хабр! Меня зовут Игнат Нахай и это мой первый пост. Я работаю в команде по внедрению платформы ZIIoT для промышленности. Конкретнее – отвечаю за архитектурные решения при внедрении платформы в информационный слой заказчика.

ZIIoT объединяет все источники промышленных данных на предприятии и через набор MES-сервисов позволяет управлять качеством, отслеживать генеалогию продукции, анализировать производительность, проводить оперативное и детальное планирование, контролировать состояние и распределение ресурсов и много чего еще.  В связи с этим в платформе рождается большой объем информации, которая востребована в других информационных системах предприятия. Здесь я расскажу, как мы решали задачу построения информационных потоков и как нам в этом помог Apache NIFI. 

Читать далее
Всего голосов 10: ↑6 и ↓4+2
Комментарии0

Pulsar на KubeSphere. Установка платформы распределённого обмена сообщениями и потоковой передачи данных

Время на прочтение7 мин
Количество просмотров1.7K

Apache Pulsar и KubeSphere — мощные инструменты для нативных облачных приложений. В этом посте мы покажем, как развернуть Pulsar на KubeSphere с нуля.

KubeSphere — контейнерная платформа с открытым исходным кодом на базе Kubernetes, которая предоставляет пользователям ориентированный на приложениях опыт. В связи с этим она обладает полным набором инструментов для разработчиков, позволяющих управлять приложениями на протяжении всего их жизненного цикла. В этой статье в качестве примера я продемонстрирую, как установить Apache Pulsar на кластере KubeSphere. Apache Pulsar, облачный нативный инструмент распределённого обмена сообщениями и потоковой передачи данных, представляет собой передовую платформу для обеспечения нужд предприятий в потоковой передаче событий в реальном времени.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Межкластерная репликация Apache Kafka между тремя дата-центрами

Время на прочтение10 мин
Количество просмотров15K

Я Роман Ананьев, NoSQL/Kafka-инженер в Авито. В этом материале расскажу, как мы попробовали использовать брокер сообщений Apache Kafka в трёх дата-центрах и что из этого получилось.

Сначала пробегусь по архитектуре Kafka, потому что она играет роль в репликации между кластерами. Затем коснусь самих способов репликации и расскажу о двух инструментах для неё: MirrorMaker и uReplicator. Основная часть статьи — про нашу реализацию Kafka cluster federation и то, как Kafka размазана на несколько дата-центров.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии7

Spring4Shell RCE — критическая уязвимость в Java Spring Framework

Время на прочтение2 мин
Количество просмотров16K

Не успел мир отойти от Apache Log4j2, как в сети появились сообщения о новых 0-day уязвимостях. В Spring Framework для Java обнаружено сразу несколько уязвимостей "нулевого дня", позволяющих, в том числе, выполнять произвольный код (RCE).

Читать далее
Всего голосов 21: ↑20 и ↓1+19
Комментарии11

Apache NLPCraft, подготовка к выходу мультиязычной версии 1.0

Время на прочтение3 мин
Количество просмотров1.5K

Apache NlpCraft — библиотека с открытым исходным кодом, предназначенная для интеграции языкового интерфейса в пользовательские приложения. 

Подробнее с проектом можно ознакомиться на его сайте или, напрмер, по ссылкам на хабре. Состояние проекта - Apache инкубация. Так как java NLP сообщество весьма ограничено, продукт имеет небольшое, но достаточно активное количество пользователей.    

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Загрузка stage слоя DWH. Часть 3

Время на прочтение7 мин
Количество просмотров3.6K

Каждый разработчик потоков Nifi сталкивается с тем, что через некоторое время потоки начинают повторятся. Бизнес хочет получать данные не по одному расписанию, а к определённым моментам времени. И возникает ситуация, когда управлять большим разросшимся потоком становится неудобно и сложно. Устранять ошибку проектирования приходится в десятках процессоры группах. И так далее...

Рассмотрим подход к параметризованному потоку загрузки, универсальному в сложившемся окружении, при обкатанных правилах формирования DWH, выполнения запросов к источникам, интервалам загрузки.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Мониторинг Apache Spark

Время на прочтение8 мин
Количество просмотров3.2K

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

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии1

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

И маленькому стартапу, и большому энтерпрайзу — Кафка, которую нужно знать

Время на прочтение5 мин
Количество просмотров9.6K

Можно ли использовать Apache Kafka в качестве базы данных и какое у Кафки будущее? Провели небольшое интервью с нашим экспертом Георгом Гаалом. Он ответил на эти вопросы, а ещё рассказал о сильных и слабых сторонах платформы, возможностях её масштабирования и о том, кому надо изучать Кафку, а кому не стоит.

Читать далее
Всего голосов 23: ↑17 и ↓6+11
Комментарии11

Фаззинг сокетов: Apache HTTP Server. Часть 3: результаты

Время на прочтение9 мин
Количество просмотров2.1K

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

В первой части этой серии статей я рассказал о том, как организовать фаззинг Apache HTTP Server с привлечением кастомных мутаторов. Во втором материале я раскрыл вопрос создания перехватчиков ASAN, которые позволяют выявлять ошибки при использовании собственных реализаций пулов памяти.

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

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии1

Фаззинг сокетов: Apache HTTP Server. Часть 2: кастомные перехватчики

Время на прочтение10 мин
Количество просмотров2.4K

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

В первой статье из этой серии я рассказал о том, с чего стоит начать тому, кто хочет заняться фаззингом Apache HTTP Server. Там мы обсудили разработку кастомных мутаторов в AFL++, поговорили о том, как создать собственный вариант грамматики HTTP.

Сегодня я уделю внимание написанию перехватчиков ASAN, которые позволяют «ловить» баги в кастомных пулах памяти. Здесь пойдёт речь и о том, как перехватывать системные вызовы, нацеленные на файловую систему. Это позволяет выявлять логические ошибки в исследуемом приложении.

Читать далее
Всего голосов 21: ↑20 и ↓1+19
Комментарии0

Фаззинг сокетов: Apache HTTP Server. Часть 1: мутации

Время на прочтение12 мин
Количество просмотров5.1K

Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.

Этот материал открывает серию из трёх статей (она продолжает материалы о фаззинге FTP-серверов и FreeRDP), посвящённых фаззинг-тестированию реализации протокола HTTP, представленной в Apache HTTP Server. Это — один из самых популярных веб-серверов и в представлении он не нуждается. Так, Apache HTTP — это один из первых HTTP-серверов, разработка которого началась в 1995 году. По состоянию на январь 2021 года под его управлением работали более чем 300000000 серверов, а значит — он использовался на 26% таких систем и занимал второе место по распространённости, немного уступая лишь Nginx (31%).

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

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии1

Flink для самых маленьких

Время на прочтение12 мин
Количество просмотров25K

Привет! Меня зовут Юля, я работаю в дирекции больших данных Билайн, недавно я познакомилась с фреймворком Flink и хочу рассказать о своих впечатлениях на примере простой с первого взгляда задачи.

Итак, что же такое Flink? 

Apache Flink – это фреймворк и движок для statefull вычислений над неограниченными и ограниченными потоками данных. Flink был разработан для работы во всех распространенных кластерных средах, выполняя вычисления с in-memory скоростью на любом масштабе данных.

Из основных моментов можно подчеркнуть: 

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии1

Лучшие книги по Apache Kafka

Время на прочтение15 мин
Количество просмотров26K

«Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications», «Kafka: The Definitive Guide» и другие издания.

В этой статье я расскажу, как изучал Apache Kafka и с какими трудностями столкнулся. Я очень надеюсь, что мои наблюдения помогут тем, кто ещё только приступает к знакомству с платформой. Здесь мы обсудим полезные ресурсы, в основном, книги, которые я прочитал, и мой опыт с платформой#nbsp;— до чтения книг и после.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии3