fix: review findings (async SQS dispatcher, backoff, batch insert, shutdown order, pagination, HMAC) + loadtest fixes; v0.1.6

This commit is contained in:
“Naeel”
2026-08-16 18:24:09 +04:00
parent 090cedca67
commit 3fedf9317c
27 changed files with 581 additions and 122 deletions
+7 -3
View File
@@ -54,9 +54,13 @@ python3 -m loadtests.run soak --devices 50 --rate 1 --duration 3600 --slice-sec
## Ограничения
- API отдаёт максимум **1000 строк** телеметрии на запрос → верификатор
считает окно ~900 сообщений на устройство. Сценарии с большим expected
на устройство недосчитают (для точных потерь — дробить на прогоны).
- **SQS-лимит 256KB** на сообщение (shared-sqs отклоняет: `InvalidParameterValue
message size exceeds the limit`) → payload устройств ≤ ~250KB с учётом
envelope. Бридж дропает oversize с логом `payload too large for SQS`.
EMQX пропускает до 1MB, но узким местом конвейера является SQS.
- API отдаёт максимум **1000 строк** телеметрии на запрос; шлюз платформы
рвёт ответы >~15КБ (баг MSS/MTU, тикет Nubes) → верификатор ходит
страницами по 50 (`offset`). Большие страницы НЕ использовать.
- Задержка = `ts(PG) - sent_at - skew`; skew калибруется первым сообщением
(часы тест-машины и PG могут расходиться).
- Consumer long-poll до ~20с → после публикаций нужна пауза перед сверкой