System architecture overview of sfsEdgeStore.
┌─────────────────────────────────────────────────────────────┐
│ Edge Node (Resource-Constrained) │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ EdgeX Foundry │ │
│ │ (Data Collection, Device Management) │ │
│ └────────────────────┬──────────────────────────────────┘ │
│ │ MQTT │
│ ▼ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ sfsEdgeStore (Lightweight Adapter) │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────┐ │ │
│ │ │ MQTT Client │→ │ Data Queue │→ │ sfsDb │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────┘ │ │
│ │ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ HTTP Server │ │ Monitoring │ │ │
│ │ └──────────────┘ └──────────────┘ │ │
│ └───────────────────────────────────────────────────────┘ │
│ │ HTTP API │
└───────────────────────┼─────────────────────────────────────┘
▼
External Query/Monitoring
core/mqtt/)Subscribes to EdgeX Foundry event topics and receives IoT sensor data.
edgex/events/#)queue/)Reliable message buffering between MQTT ingestion and database storage.
core/database/)Efficient data storage using sfsDb (LevelDB wrapper).
server/)RESTful API for data querying and system management.
monitor/)System metrics collection and alerting.
alert/)Threshold-based alerting with multiple notification channels.
analyzer/)Data analysis engine for anomaly detection and trend analysis.
resource/)System resource tracking and protection.
retention/)Automatic cleanup of expired data.
cloudsync/sync/) (Enterprise)Cloud synchronization for distributed deployments.
Unlike cloud-based IoT solutions, sfsEdgeStore stores all data on the edge device:
| Component | Technology |
|---|---|
| Language | Go 1.21+ |
| Database | sfsDb (LevelDB wrapper) |
| Message Queue | MQTT (Paho) |
| Web Framework | Go net/http |
| Frontend | Vanilla JS + Bootstrap + ECharts |