پرش به مطلب اصلی

Hybrid MQTT + HTTP Sync

Gateway v1 از معماری Hybrid استفاده می‌کند:

  • MQTT: Control plane سبک
  • HTTP API: Snapshotهای کامل/سنگین

MQTT coordination

  • up/sync/check/AES
  • dn/sync/manifest/AES
  • up/sync/status/AES
  • up/auth/token/request/AES
  • dn/auth/token/response/AES

API token کوتاه‌عمر است، TTL Canonical آن ۸ ساعت است و نباید روی Flash Persist شود.

Snapshot APIها

POST /api/v1/gateway/sync/project-info
POST /api/v1/gateway/sync/users
POST /api/v1/gateway/sync/places
POST /api/v1/gateway/sync/devices
POST /api/v1/gateway/sync/device-definitions
POST /api/v1/gateway/sync/analyzer-rules
POST /api/v1/gateway/sync/scenarios
POST /api/v1/gateway/sync/config

این Endpointها Contract طراحی Gateway هستند؛ ممکن است تا زمان پیاده‌سازی Backend در Production موجود نباشند.

Flow

Gateway connects MQTT
→ publishes sync/check
→ receives sync/manifest
→ requests API token if needed
→ fetches changed snapshots over HTTPS
→ validates/persists atomically
→ publishes sync/status

HTTP response خودش ACK همان Snapshot fetch است؛ ACK اضافی MQTT لازم نیست.

Last-known-good

Sync جدید نباید تا قبل از Validate کامل، Cache سالم قبلی را خراب کند. قطع Cloud نیز Cache معتبر را پاک نمی‌کند.