MessageProcessor
The DataPipe scenario is extended with various counters and becomes MessageProcessor
Instance resources over time
- Logporter provides runtime cpu, ram, and network
- Prometheus turns Logporter data into windows —
[month, week, day, hour] - Persistent storage used can be taken from postgres and clickhouse directly
- To learn how much memory is left on the host system, some exporter is needed
- The maximum external network value must be entered in the instance settings; the default is 100 MB/s
- this builds a basic overall picture
- the instance will be able to forecast how long it can keep running stably
Unit resources over time
- Subscription to
+/+/pepeunitand+/+ - All incoming and outgoing MPS are counted for each UnitNode (for a Unit, a join with summation)
- Average number of messages from/to the home instance
[month, week, day, hour] - Average number of messages from/to external instances
[month, week, day, hour] - Memory size dynamics based on
DataPiperows[month, week, day, hour] - Refuses service when limits are exceeded
- from this we will see the percentage of who consumes which resources
Moving the subscription from the backend to MessageProcessor
- Subscription to
domain.com/+/+/+/pepeunit - Handling of incoming
state/pepeunitandlog/pepeunit
- The Backend no longer subscribes to anything over mqtt
- The Backend keeps only EMQX configuration and access issuance
- The Backend mqtt connections can then be refactored