設計物聯網平臺前,先要問清這些需求
設計未動,需求先行。
對物聯網平臺,設計前最好先理清這些需求:
1. SLA服務等級要求:99%、95%、99%、99.9%、99.99%等。
2. 歷史數據:在線存儲、近線存儲和離線存儲的最大時間,歷史數據的近線離線備份要求。
3. 傳輸協議支持:需要支持幾種傳輸協議,如CoAP、MQTT、MQTTS、HTTPS、AMQP、XMPP、WebSocket、自定義TCP協議、透傳等。
4. Payload序列化機制:XML、JSON、Protobuffer、msgpack、自定義二進制等。
5. 2G/4G流量費用:是否有無線流量費用,流量費用估算和流量優化。
6. 數據分析要求:Real-time streaming、ad-hoc aggregate或pre-aggregate等。
7. 數據分析要求:是否需要對原始數據進行數據清洗,數據匯總等。
8. 數據呈現:Dashboard要求,報表要求等。
9. 容量規劃:設備總數、采集頻率、每個設備Tag數,實時數據存儲空間、歷史數據存儲空間、網絡帶寬等。比如可以借鑒下Thingworx的Sizing Guide:
https://www.ptc.com/support/-/media/BC2F28281E4142AFA6FC79EC49D9DBD3.pdf?sc_lang=enwww.ptc.com
10. 安全防護:TLS、Web應用防火墻、DMZ、哪些重要metric指標可視化監控報警、自動快照、自動備份等。
11. 可伸縮性:未來可能需要接入更多設備的話,是否可以水平或垂直擴展。
12. 消息批處理時緩沖隊列持久化的策略:in-memory,File-based等。
13. Alarm:Alarm 的各種策略(閾值告警、告警升級、告警沉默期...)和 Notification 的各種策略(郵件、SMS、微信...)。
14. 集成:是否需要與第三方服務進行集成。如果有,如何對接。
15. 部署:要能部署到哪些云服務器供應商?AWS、Azure、阿里云......等。是否對其運維熟悉。