Интеграция данных на базе SeaTunnel: Как 58.com обрабатывает более 500 млрд датасетов ежедневно
Введение
В эпоху цифровизации данные стали одним из самых ценных активов для бизнеса. Как ведущая платформа услуг повседневной жизни в Китае, 58 Group постоянно исследует и внедряет инновации в построении своей платформы интеграции данных. В этой статье будут подробно рассмотрены эволюция архитектуры, стратегии оптимизации и планы будущего развития платформы интеграции данных 58 Group на основе Apache SeaTunnel.
Вызовы платформы интеграции данных
Бизнес-контекст
58 Group имеет широкий спектр бизнесов, и с быстрым развитием этих направлений объем данных из различных бизнес-областей, таких как найм, недвижимость, вторичный рынок жилья, вторичный рынок товаров, местные услуги и информационная безопасность, значительно увеличился. 58 Group должна обеспечить свободное перемещение и конвергенцию данных между различными источниками данных для достижения единого управления, циркуляции и обмена данными. Это включает не только сбор, распределение и хранение данных, но и приложения, такие как офлайн-вычисления, синхронизация между кластерами и профилирование пользователей.
В настоящее время 58 Group обрабатывает более 500 миллиардов сообщений ежедневно, с пиковым объемом обработки сообщений, превышающим 20 миллионов, и количеством задач, превышающим 1600. Обработка такого огромного объема данных представляет значительные вызовы.
Вызовы
В обеспечении свободного перемещения и конвергенции данных между различными источниками и достижении единого управления, циркуляции и обмена данными 58 Group сталкивается с вызовами, включая:
- Высокая надежность: Обеспечение отсутствия потерь данных при различных условиях сбоя, обеспечение согласованности данных и стабильной работы задач.
- Высокая пропускная способность: Обработка больших потоков данных для достижения высокой параллельности и массового переноса данных.
- Низкая задержка: Соответствие бизнес-потребностям в обработке данных в реальном времени и быстром отклике.
- Простота обслуживания: Упрощение конфигурации и автоматизация мониторинга для снижения нагрузки на обслуживание, упрощения быстрого обнаружения и устранения неисправностей, а также обеспечения долгосрочной доступности системы.
Эволюция архитектуры
Архитектура платформы интеграции данных 58 Group прошла через несколько этапов эволюции, чтобы адаптироваться к меняющимся бизнес-потребностям и технологическим разработкам.
Ранняя архитектура
- 2017: Использовался Flume для интеграции платформы.
- 2018: Внедрен Kafka Connect 1.0.
- 2020: Использовалась версия Kafka Connect 2.4, достигнута инкрементальная балансировка нагрузки и CDC (Change Data Capture).
- 2023: Внедрен Apache SeaTunnel, интегрированный в платформу реального времени вычислений, и расширены различные Source/Sink.
С 2017 по 2018 год платформа интеграции данных 58 Group использовала архитектуру Kafka Connect, основанную на интеграции данных с Kafka, с горизонтальным масштабированием и распределенной обработкой, поддерживающей работу Workers и Tasks на нескольких узлах; Workers автоматически перераспределяют задачи на другие Workers при сбое, обеспечивая высокую доступность; также поддерживается автоматическое управление смещением и управление задачами и конфигурацией через Rest API.
Однако с расширением объема бизнеса и разнообразием сценариев эта архитектура столкнулась с ограничениями:
Ограничения архитектуры
- Невозможность достижения полной интеграции данных.
- Проблемы с Coordinator Bottleneck
- Heartbeat Timeout: Тайм-ауты сердцебиения Worker-to-coordinator вызывают перебалансировку задач, вызывая временные прерывания задач.
- Heartbeat Pressure: Workers синхронизируются с координаторами, отслеживая состояния Workers и управляя большим объемом метаданных задач.
- Coordinator Failure: Простой координатора влияет на распределение и перераспределение задач, вызывая сбои задач и снижение эффективности обработки.
- Влияние Task Rebalance
- Task Pause and Resume: Каждая перебалансировка приостанавливает задачи, затем перераспределяет их, что приводит к кратковременным прерываниям задач.
- Rebalance Storms: Если несколько узлов Workers часто присоединяются или покидают кластер, или если сетевая дрожь вызывает тайм-ауты сердцебиения, частые Rebalance могут значительно повлиять на эффективность обработки задач, вызывая задержки.
Учитывая эти недостатки, 58 Group в 2023 году внедрила Apache SeaTunnel, интегрировав его в платформу реального времени вычислений для свободного расширения различных Source/Sink.
Текущая архитектура
В настоящее время платформа интеграции данных 58 Group, основанная на движке Apache SeaTunnel, интегрирует источники данных (Kafka, Pulsar, WMB, Hive и т.д.), обрабатывает их через встроенные функции Transform SeaTunnel и отправляет их в целевые базы данных (Hive, HDFS, Kafka, Pulsar, WMB, MySQL, SR, Redis, HBASE, Wtable, MongoDB и т.д.), достигая эффективного управления задачами, управления статусом, мониторинга задач, интеллектуальной диагностики и многого другого.
Плавная миграция и настройка производительности
Плавная миграция
При внедрении Apache SeaTunnel 58 Group должна была выполнить плавную миграцию платформы интеграции данных, чтобы минимизировать влияние на пользователей или бизнес и обеспечить согласованность данных, сохраняя согласованность формата, пути и отсутствие потерь данных.
Эта цель представляла вызовы, включая затраты и риски миграции, такие как понимание и подтверждение формата данных каждой задачи, и миграция включала несколько этапов, что было сложно и требовало времени.
Для решения этой проблемы 58 Group предприняла следующие меры:
- Для источников добавлен RawDeserializationSchema для совместимости с неструктурированными данными.
- Для целей, таких как использование hdfs sink для hive, для совместимости с загрузкой партиций и путями.
- Разработка автоматических инструментов миграции:
- Автоматическое генерирование конфигураций задач, генерирование соответствующих конфигураций задач SeaTunnel на основе конфигураций Kafka Connect.
- Отключение исходных задач, сброс смещений и запуск новых задач.
- Проверка и проверка.
Настройка производительности
58 Group также провела несколько оптимизаций производительности на платформе интеграции данных, включая:
- Добавление Pulsar Sink Connector: Для увеличения пропускной способности.
- Поддержка Array Data: Улучшение совместимости HbaseSink.
- Поддержка установки времени истечения срока действия: Оптимизация RedisSink.
- Увеличение пропускной способности PulsarSource: Оптимизация метода сжатия файловых коннекторов.
- Исправление проблем с парсингом KafkaSource: Улучшение гибкости конфигурации клиентов Kafka.
Мониторинг и автоматизация операций
Кроме того, 58 Group улучшила стабильность и эффективность платформы интеграции данных через мониторинг и автоматизацию операций:
- Мониторинг задач: Реальный мониторинг статуса задач для быстрого обнаружения и устранения сбоев.
- Автоматизация операций: Сокращение ручного вмешательства через автоматизированные инструменты для увеличения операционной эффективности.
Планы будущего развития
58 Group имеет четкие планы на будущее развития платформы интеграции данных:
- Постоянное улучшение интеллектуальной диагностики: Повышение точности и эффективности диагностики неисправностей через технологии машинного обучения и искусственного интеллекта.
- Обновление на облачную и контейнеризованную инфраструктуру: Перенос платформы интеграции данных в облачную среду и реализация контейнеризованного развертывания для улучшения использования ресурсов и гибкости.
Заключение
Эволюция и оптимизация архитектуры платформы интеграции данных 58 Group — это непрерывный процесс итерации и инноваций. Через постоянные технологические исследования и практику 58 Group успешно построила эффективную, стабильную и масштабируемую платформу интеграции данных на основе Apache SeaTunnel, обеспечивая сильную поддержку данных для развития бизнеса. В будущем 58 Group продолжит углубляться в область интеграции данных, чтобы предоставлять лучшие услуги для пользователей.
Для справки
Что такое Apache SeaTunnel и для чего он нужен?
Apache SeaTunnel — это открытая платформа для интеграции данных, разработанная на основе Apache Spark и Apache Flink. Она предназначена для обеспечения высокопроизводительной, надежной и масштабируемой обработки потоковых и пакетных данных. SeaTunnel предоставляет удобный интерфейс для разработчиков, позволяющий легко интегрировать различные источники данных (такие как Kafka, Pulsar, Hive и другие) и отправлять их в различные хранилища данных (такие как HDFS, Kafka, MySQL, Redis и т.д.).
Основные функции и преимущества Apache SeaTunnel:
- Высокая производительность: SeaTunnel использует мощные движки Apache Spark и Apache Flink для обеспечения высокой скорости обработки данных.
- Надежность: Платформа обеспечивает гарантию доставки данных, чтобы избежать потерь данных при сбоях.
- Масштабируемость: SeaTunnel может легко масштабироваться для обработки больших объемов данных.
- Гибкость: Поддерживает множество источников и приемников данных, что делает его универсальным инструментом для интеграции данных.
- Простота использования: Предоставляет удобный интерфейс для разработчиков, упрощая настройку и управление задачами интеграции данных.
Для чего нужен Apache SeaTunnel?
Apache SeaTunnel используется для решения задач интеграции данных в различных сценариях, таких как:
- Обработка потоковых данных: SeaTunnel может использоваться для обработки данных в реальном времени, например, для анализа данных сенсоров, мониторинга активности пользователей и т.д.
- Интеграция данных из различных источников: SeaTunnel позволяет объединять данные из разных источников, таких как базы данных, хранилища объектов, системы логгирования и т.д.
- Перенос данных: SeaTunnel может использоваться для переноса данных между различными хранилищами данных, например, из MySQL в HDFS или из Kafka в Elasticsearch.
- Агрегация и трансформация данных: SeaTunnel предоставляет мощные инструменты для агрегации и трансформации данных, что позволяет создавать сложные аналитические модели.
Что за компания 58 Group в Китае?
58 Group — это ведущая китайская платформа услуг повседневной жизни, предоставляющая широкий спектр онлайн-сервисов, включая поиск работы, недвижимость, вторичный рынок товаров, местные услуги и многое другое. Компания была основана в 2005 году и с тех пор стала одним из крупнейших игроков на рынке онлайн-услуг в Китае.
Основные направления деятельности 58 Group:
- Поиск работы: Платформа предоставляет услуги по поиску работы для соискателей и размещению вакансий для работодателей.
- Недвижимость: 58 Group предлагает услуги по аренде и продаже недвижимости, включая жилую и коммерческую недвижимость.
- Вторичный рынок товаров: Платформа позволяет пользователям покупать и продавать б/у товары, такие как электроника, мебель, одежда и т.д.
- Местные услуги: 58 Group предоставляет широкий спектр местных услуг, включая ремонт, уборку, перевозки и многое другое.
- Информационная безопасность: Компания также занимается обеспечением информационной безопасности для своих пользователей.
Значение 58 Group в китайской экономике:
58 Group играет важную роль в китайской экономике, предоставляя удобные и доступные услуги для миллионов пользователей. Благодаря широкому спектру услуг и постоянному внедрению инноваций, 58 Group помогает упростить повседневную жизнь китайцев и стимулировать развитие местного бизнеса.
Проще говоря: 58 Group — это как китайский аналог Craigslist или Avito, но гораздо большего масштаба, предлагающий множество различных услуг в одном месте.
Презентация старая: http://filecache.investorroom.com/mr5ir_58/144/download/58.com%20Presentation-Q2%2719_0919_Management%20update.pdf