1. Как обрабатываются стриминговые данные? (Spark Structured Streaming)
Spark Structured Streaming обрабатывает данные микропакетами, используя ту же API, что и для пакетной обработки. Данные поступают из Kafka, Kinesis или файловой системы, обрабатываются через DataFrame API и выводятся в хранилища или дашборды. Гарантируется exactly-once семантика обработки.
2. Зачем переносить запись в БД в фоновые задачи?
Перенос записи в фоновые задачи:
- Уменьшает время ответа API
- Повышает отказоустойчивость
- Позволяет обрабатывать пиковые нагрузки
- Упрощает реализацию повторных попыток
- Разгружает основное приложение
3. Что такое вытесняющая многозадачность?
Вытесняющая многозадачность — это когда ОС принудительно переключает выполнение между задачами (процессами/потоками) без их согласия. Это предотвращает "зависание" системы из-за одной задачи.
4. Что такое блокирующий вызов в asyncio?
Блокирующий вызов — это операция (например, чтение файла или CPU-вычисления), которая останавливает цикл событий
asyncio, пока не завершится. Это снижает производительность асинхронного приложения.5. Как настроить алерты для отслеживания аномалий?
Настройка алертов включает:
- Определение ключевых метрик (CPU, память, ошибки)
- Установку пороговых значений
- Настройку уведомлений (Email, Slack, SMS)
- Реализацию эскалации
#spark #streaming #kafka #database #queue #background_tasks #multitasking #preemptive #scheduling #asyncio #blocking #event_loop #alerting #monitoring #incidents