Confluent спонсировал этот пост.
Если вы работали с Apache Kafka или рассматриваете его, вы, скорее всего, столкнулись с его крутой кривой обучения и операционными проблемами.
От сложных конфигураций и настройки производительности до трудоемких интеграций и обработки несоответствий данных, многие команды изо всех сил пытаются раскрыть весь свой потенциал. По моему опыту, большинство общих испытаний кафки могут быть перегоняются в пару коренных причин: Кафка может быть трудно изучить, а у компаний есть фрагментированная стратегия данных. Оба могут превратить потенциально изменяющую парадигму технологию в дорогостоящую головную боль.
Эти проблемы часто помогают разоблачить и решать основополагающие проблемы, удерживающие вас и вашу организацию. Давайте рассмотрим скорость скорости и поделимся некоторыми действенными советами о том, как превратить их в возможности.
Сложность является обычным явлением
Добро пожаловать в мир распределенных вычислений в эпоху ИИ, в мире, где огромные объемы данных требуют высокой доступности и обработки с низкой задержкой. Проверяя эти коробки (и другие), Апач Кафка стал де -факто стандартом для вариантов использования потоковой передачи событий. Некоторые общие примеры включают в себя:
- Отслеживание деятельности: Компании используют Kafka для отслеживания взаимодействия с пользователями в реальном времени для Power Persionlized Experiences, таких как рекламные впечатления, клики или взаимодействие с социальными сетями.
- ИТ -архитектура модернизация: Кафка помогает организациям соединить устаревшие системы с облачными нативными архитектурами или мигрирующие локальные рабочие нагрузки в облако, обеспечивая модернизацию без серьезных сбоев
- Обработка потока Stateful: Компании в области электронной коммерции, медиа и развлечений используют Kafka для питания рекомендательных двигателей в реальном времени, где поведение пользователей информирует персонализированные предложения по контенту, предложения по продажам и маркетингу и уведомления в приложении.
Распределенные системы и трубопроводы данных имеют проблемы
Распределенные системы, такие как Apache Kafka, обеспечивают огромный потенциал для создания надежной инфраструктуры данных. Но это не происходит без оперативных проблем, и это не новое для тех, кто уже строил и управляет трубопроводами данных.
Однажды я работал в рекламном стартапе, в котором использовалась пакетная обработка, чтобы примирить расходы на рекламу для рекламодателей с впечатлениями, кликами и другими событиями для издателей. Другими словами, это было то, как нам платили. Наша команда потратила впустую так много времени, неоднократно исправляя те же хрупкие ETL (извлечение, преобразование, загрузка) трубопроводы, но компания не мотивирована, чтобы внести изменения до тех пор, пока комбинация затрат на оборудование и объема данных от нашего Ad Server не расстроила наши руководители уровня C.
Мало того, что архитектура на основе партии, основанная на обработке, она была медленной и дорогой, но и не могла предоставить информацию в реальном времени. Поскольку мы делали наш набег на торги в режиме реального времени (RTB), закрытие цикла обратной связи на этих пониманиях было ключевым фактором успеха. После «системы обмена сообщениями» мы приземлились на Кафке как основу наших конвейеров данных.
Наши разработчики и инженеры DevOps провели много часов, устранение неполадок в KAFKA, но рекламные центры компании стали более эффективными, и базовые конвейеры данных стали более надежными и дешевле в поддержании с течением времени.
Преимущества Кафки не заполнят пробелы в вашей стратегии данных
Вот некоторые общие проблемы, с которыми сталкиваются команды в начале путешествия с Кафкой:
- Отсутствие управления данными: Инженеры часто рассматривают управление как «четырехбуквенное слово», бремя, которое уклоняется от прогресса, а не важной частью любой платформы. Без надлежащих контрактов на данные и управление схемами у вас остается плохая доступность, обнаружение и качество данных.
- Надзор за масштабированием и планированием пропускной способности: Одним из самых сложных аспектов реализации Kafka в масштабе является обеспечение того, чтобы у вас были правильные ресурсы для управления им. Кафка не волшебная пуля — для этого требуется специальный персонал с твердым пониманием разделения, репликации и объема данных.
- Понимание владения и опыта: Я работал в организациях, где происходит этот разговор о многих недавно принятых технологиях: «Это кажется отличной идеей. Кто будет управлять им? Кто за это заплатит? Если это общий ресурс, как мы выделяем использование в центры затрат?» Недоставление этого разговора достаточно рано поражает много потенциально изменяющих игру инноваций.
Эти проблемы не уникальны для проектов KAFKA, но они, безусловно, затрудняют их работу, потому что они подрывают влияние его масштабируемости и преимуществ производительности в вашей организации.
После того, как у вас есть правильные ресурсы и подход, Kafka может стать мощным инструментом, который поможет вам управлять данными в реальном времени и разблокировать новые возможности для вашего бизнеса.
Советы по началу работы с Кафкой
Когда я начал использовать Kafka, моя команда сосредоточилась на простых вариантах использования, таких вещах, как потоковые журналы и базовая обработка событий. Оттуда мы постепенно перешли на более сложные варианты использования, такие как аналитика в реальном времени и обработка потока состояния. Попутно мы все узнали не только о Кафке, но и о создании устойчивой, масштабируемой архитектуры данных.
Вот несколько советов, которые вы можете начать:
- Начните с малого: Не начинайте пытаться «варить океан». Рассмотрим объем простых вариантов использования низкого риска, которые помогут вам овладеть основными концепциями кафки и моделей потоковой передачи событий. Использование таких вариантов, как потоковая передача журнала или базовая обработка событий, может дать вам прочную основу. Эти ранние победы помогут улучшить участие в заинтересованных сторонах.
- Сосредоточьтесь на основе: Ключевые концепции обучения, такие как управление данными, образование разработчиков и установленное подход к жизненному циклу доставки программного обеспечения, являются важными строительными блоками для успеха с Kafka.
- Задумчиво определить события: Кафка может экспоненциально принести пользу организации, позволяя нескольким командам самостоятельно использовать одни и те же исходные данные. Чтобы сделать эту работу для вас, тщательно спланируйте данные, которыми вы поделитесь с другими командами. Схемы дизайна для этих событий и использование стандартных сериатов в отрасли, таких как AVRO или Protobuf. Для бонусных баллов принять более широкие принципы контрактов на данные.
- Ключевой дизайн и раздел, изучите его и живите: Для каждого варианта использования на основе KAFKA очень внимательно следит за планированием своей ключевой стратегии. Сконцентрируйтесь на таких факторах, как ожидаемый объем данных. Создайте ключи с целью распределения данных как можно равномерно по всему кластеру. Принимайте во внимание свои SLA-обработки (соглашения на уровне обслуживания), чтобы помочь определить количество разделов при создании тем.
- Инфраструктура как код: Ваша конфигурация инфраструктуры кафки будет развиваться по мере уточнения и расширения ее использования. Применяйте установленные принципы DevOps, такие как IAC, с такими инструментами, как Terraform с ранней стадии. Ваше будущее сами будет благодарен.
- Избегайте преждевременной ловушки оптимизации: Знание того, как оптимизировать и настроить свой кластер (и ваш клиент -код), почти так же важно, как и знать, когда это сделать. Используйте инструменты тестирования производительности и наблюдения, чтобы понять, какие ручки и рычаги для настройки.
- Проконсультируйтесь с экспертами: Если вы используете потоковую передачу данных, я призываю вас добавить в закладки веб -сайт Confluent Developer для всех вещей Kafka и другой информации потоковой передачи данных. На этом веб -сайте представлены блоги, бесплатные курсы и лидерство в мысли от нашей команды специалистов по потоковой передаче.
Ваша организация не первая, которая пытается выяснить, как начать работу с Apache Kafka. Но есть причина, по которой восемь из 10 из Fortune 500 Trust Kafka в качестве платформы потоковой передачи событий. Управляемые решения могут помочь компаниям легко использовать эту мощную технологию и преодолеть некоторые из этих ключевых проблем.
Независимо от того, выбираете ли вы Kafka с открытым исходным кодом или управляемое решение, локальное или облачный поставщик услуг, преимущества дизайна, управляемого событиями, могут принципиально изменить вашу архитектуру и дать вашей организации конкурентное преимущество.
Confluent, основанная оригинальными создателями Apache Kafka, впервые провели полную платформу потоковой передачи данных, которая транслирует, соединяет, обрабатывает и управляет данными, когда она течет по всему бизнесу. С Confluent любая организация может модернизировать свой бизнес и управлять им в режиме реального времени. Узнайте больше последних из Comfluent Trending Stories YouTube.com/ThenewStack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Сандон Джейкобс — старший защитник разработчика в Confluent, базирующемся в Северной Каролине. Сандон построил микросервисы и приложения потоковой передачи событий в нескольких отраслях, включая телевизионные медиа, энергию, мобильную рекламу, железнодорожную грузовую логистику и здравоохранение. Этот опыт охватывает несколько … Подробнее от Сандона Джейкобса