Проєктування конвеєра даних на основі observability для аналітики в реальному часі
Ви хочете побудувати конвеєр даних, який забезпечує аналітику в реальному часі. Для цього вам потрібно спроєктувати систему, здатну обробляти високошвидкісні події з низькою затримкою та надавати операторам корисну інформацію для прийняття рішень.
Ось ключові компоненти:
- Шар збору (Ingest layer): адаптери потокових джерел, такі як Kafka або Kinesis
- Шар обробки (Processing layer): потокова обробка для агрегації та збагачення даних
- Шар зберігання (Storage layer): незмінне сховище подій для можливості повторного відтворення та оптимізовані для читання сховища для аналітики
- Шар обслуговування/запитів (Serving/query layer): матеріалізовані представлення та попередньо агреговані таблиці
- Шар спостережності (Observability layer): трасування, метрики, логи, дашборди та сповіщення
Щоб розпочати, визначте свої вимоги:
- Швидкість збору: 100 тис. подій на секунду
- Сквозна затримка (end-to-end latency): ≤ 300 мс
- Патерни запитів: обмежені часом агрегації та SLO для хвостової затримки (tail latency)
Виберіть цілі вашої системи спостережності (observability outcomes):
- Достатня телеметрія для діагностики затримок та перекосу даних (data skew)
- Швидкий аналіз першопричин (root-cause analysis) збоїв