test: полное суровое тестирование IoT pipeline — 7 сценариев, 4 критических находки

This commit is contained in:
Naeel
2026-04-06 18:14:50 +03:00
parent 815b861417
commit c0a08ae78d
2 changed files with 269 additions and 1 deletions
+30 -1
View File
@@ -1,6 +1,35 @@
# Прогресс разработки
Последнее обновление: 2026-04-06 17:30 МСК
Последнее обновление: 2026-04-06 19:00 МСК
---
## 2026-04-06 (вечер) — Полное суровое тестирование IoT pipeline
### Тест-матрица (7 сценариев, baseline: 18 строк)
| # | Тест | Результат | Примечание |
|---|------|-----------|-----------|
| 1 | Cold start (все IoT поды сразу) | ✅ PASS | Consumer: 16 retry за 48с до Kafka ready |
| 2 | Restart resilience 3× | ✅ PASS | <1с при уже работающей Kafka |
| 3 | Load 100 сообщений burst | ⚠️ PARTIAL FAIL | 27/100 доставлено. Bridge Async=false + QoS 0 = потери |
| 4 | Burst при оффлайн consumer | ✅ PASS | Kafka забуферировал 10 msg, consumer обработал за <300мс |
| 5 | Невалидный payload (3 вида) | ✅ PASS | Bridge оборачивает non-JSON в строку, consumer не крашится |
| 6 | Дублированные сообщения | ✅ PASS | at-least-once: 3×identical → 3 rows в Postgres |
| 7 | Kafka restart (network drop) | ✅ PASS | Recovery ~3мин авто, 1 msg потерян (no retry в bridge) |
### Финальное состояние
- `iot_telemetry`: 62 строки (было 18)
- Все поды: Running
### Критические находки (FIX backlog)
| Приоритет | Находка | Fix |
|-----------|---------|-----|
| HIGH | Bridge throughput ~1 msg/сек (`Async: false`) | `kafka.Writer{Async: true}` |
| HIGH | QoS 0 от устройств = нет durability при brief disconnect | устройства: `-q 1` (QoS 1) |
| MEDIUM | Bridge no-retry при Kafka error = 1 msg lost | local buffer + retry |
| LOW | Consumer immediate retry on error = busy-wait | exponential backoff |
---