feat: IoT demo final — 6 services (Kafka+Redis+MongoDB+2Flask+NodeJS), removed broken CH/Superset/AKHQ
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# Шаг 9 — DEV стенд: все 6 сервисов развёрнуты
|
||||
|
||||
**Дата:** 2026-07-21
|
||||
|
||||
## Финальный состав (6 сервисов)
|
||||
|
||||
| # | Ресурс Terraform | Имя | Роль |
|
||||
|---|-----------------|------|------|
|
||||
| 1 | `nubes_kafka` | iot-kafka | Шина сообщений |
|
||||
| 2 | `nubes_redis` | iot-redis | Кэш дашборда |
|
||||
| 3 | `nubes_mongodb` | iot-mongo | Постоянное хранение |
|
||||
| 4 | `nubes_flask` | iot-producer | Генератор IoT → Kafka |
|
||||
| 5 | `nubes_flask` | iot-consumer | Kafka → Redis + MongoDB |
|
||||
| 6 | `nubes_nodejs` | iot-dashboard | Redis → графики Chart.js |
|
||||
|
||||
## Git-репозитории
|
||||
|
||||
| Репо | Назначение |
|
||||
|------|-----------|
|
||||
| `Nail/tf-iot-producer` | Flask — IoT продюсер (Kafka TLS) |
|
||||
| `Nail/tf-iot-consumer` | Flask — Kafka → Redis + MongoDB |
|
||||
| `Nail/tf-iot-dashboard` | Node.js — дашборд Chart.js |
|
||||
|
||||
## Поток данных
|
||||
|
||||
```
|
||||
Producer (Flask) → Kafka → Consumer (Flask) → Redis (кэш)
|
||||
→ MongoDB (история)
|
||||
Dashboard (Node.js) ← Redis (API /api/latest, /api/counters, /api/recent)
|
||||
```
|
||||
|
||||
## Реальные ключи (определены опытным путём)
|
||||
|
||||
### Kafka
|
||||
- bootstrap: `state_out_flat["internalConnect.bootstrap.fqdn"]:9093` — **TLS**
|
||||
- vault: `vault_secrets["users"]["iot-app"]["user.password"]`
|
||||
|
||||
### Redis
|
||||
- host: `state_out_flat["internalConnect.master"]`
|
||||
- vault: `vault_secrets["users"]["default"]["password"]`
|
||||
|
||||
### MongoDB
|
||||
- host: `state_out_flat["internalConnect"]`
|
||||
- port: 27017
|
||||
- vault: `vault_secrets["users"]["admin"]["password"]`
|
||||
|
||||
## Структура приложений
|
||||
|
||||
- **Flask**: `site/app.py` + `requirements.txt` (БЕЗ Procfile)
|
||||
- **Node.js**: `server.js` + `package.json` (`npm start`)
|
||||
|
||||
## Неудачные сервисы
|
||||
|
||||
| Сервис | Причина |
|
||||
|--------|--------|
|
||||
| `nubes_clickhouse` | GitHub release assets timeout |
|
||||
| `nubes_superset` | IAM 408 timeout |
|
||||
| `nubes_akhq` | `toBoolean() on null` — баг платформы |
|
||||
Reference in New Issue
Block a user