Files
smart-city-digital-twin-mar…/session_resume_2026-05-05-afternoon.md
Eric FELIXINE ad613beefb feat: Pulsar distribution service (Simulator → Pulsar → Brokers)
- Fix Pulsar: use binary client (port 6650) instead of non-existent REST /produce API
- Add pulsar-client to Dockerfile
- Create pulsar/distribution.py: consumes Pulsar and republishes to MQTT (EMQX/Mosquitto), NGSI-LD (Orion/Stellio), FROST
- Add docker-compose.distribution.yml for the distribution service
- Tested: Messages successfully distributed to EMQX and Orion-LD
- Update session resume
2026-05-05 10:20:13 -04:00

3.2 KiB

Session Resume — 05 Mai 2026 (Suite)

Réalisé dans cette session

1. Correction critique Pulsar

  • Problème : API REST /produce inexistante en Pulsar standalone → 404
  • Solution : Installé pulsar-client Python dans le simulateur + modifié publish_pulsar() pour utiliser le client binaire (port 6650)
  • Dockerfile : Ajout de pulsar-client dans les dépendances
  • Résultat : 🌀 Pulsar: ✅ dans les logs simulateur

2. Service de distribution Pulsar → Brokers

  • Création : pulsar/distribution.py — Consomme Pulsar et republie vers :
    • MQTT : EMQX (emqx_emqx_1:1883) + Mosquitto (mosquitto-traefik:1883)
    • NGSI-LD : Orion-LD (fiware-gis-quickstart-orion-1:1026) + Stellio (stellio-api-gateway:8080)
    • OGC SensorThings : FROST Server (frost-api-8090:8080)
  • Docker : pulsar/Dockerfile + docker-compose.distribution.yml
  • Testé : Messages distribués avec succès (MQTT reçu, entités Orion-LD créées)

3. Architecture mise en place

Simulateur → Pulsar (port 6650)
                  ↓
         Pulsar Distribution Service
                  ↓
    ┌─────────────┼─────────────┐
    ↓             ↓             ↓
 MQTT Brokers  NGSI-LD     FROST
 (EMQX+        Brokers     (OGC
 Mosquitto)   (Orion+      SensorThings)
               Stellio)

⚠️ Problèmes rencontrés

Redpanda (Kafka-compatible)

  • Status : Toujours crashé (exit 1)
  • Cause : Commande rpk redpanda start échoue (le flag --mode dev n'existe pas dans v24.3.14)
  • Tentatives :
    • Enlèvement de --mode dev → toujours crash
    • Exécution manuelle → affiche l'aide (commande invalide)
  • Décision : Laisser de côté pour l'instant, Pulsar suffit pour l'ingestion

📊 État des services

Service Status Notes
Simulateur Actif (1s) Pulsar OK, MQTT/Brokers désactivables
Pulsar Fonctionnel Client binaire 6650 OK
Pulsar Distribution Actif Republie vers tous les brokers
EMQX (MQTT) Reçoit Via distribution Pulsar
Orion-LD (NGSI-LD) Reçoit Entités AirQuality créées
Stellio (NGSI-LD) ⚠️ À vérifier Via distribution
FROST (OGC) ⚠️ À vérifier Via distribution
Redpanda Crash Problème de démarrage RPK
InfluxDB Actif Via simulateur direct
Grafana ⚠️ No Data Dashboards à configurer

📋 Prochaines étapes

  1. Vérifier Stellio + FROST via distribution Pulsar
  2. Désactiver l'envoi direct du simulateur vers les brokers (pour respecter l'architecture)
  3. Configurer Grafana avec datasources InfluxDB + Pulsar/FROST
  4. Remplacer Redpanda par Kafka simple ou résoudre le problème

🔗 URLs importantes


Session en cours — Pulsar Distribution opérationnel