物联网项目开发必须要注意的几点
生活随笔
收集整理的這篇文章主要介紹了
物联网项目开发必须要注意的几点
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
現(xiàn)在萬(wàn)物互聯(lián),是個(gè)公司感覺(jué)都想搞一點(diǎn)物聯(lián)網(wǎng)方向的項(xiàng)目。而大家則又是半路出道。容易踩坑。
這里我把我近幾年物聯(lián)網(wǎng)項(xiàng)目開(kāi)發(fā)過(guò)程中遇到的坑寫(xiě)出來(lái),希望能讓大家少走點(diǎn)彎路。
首先是項(xiàng)目選型, 一般會(huì)采用私有協(xié)議,直接搞個(gè)長(zhǎng)連接。什么netty 一套弄就OJBK。
一般肯定會(huì)這么想, 其實(shí)這里面的坑可不少啊。
首先是協(xié)議,在定義協(xié)議時(shí)以下字段一般是必傳的:
- 報(bào)文頭,head?
- 長(zhǎng)度, length
- 載荷, payload
- 會(huì)話ID, sessionId 此字段用于業(yè)務(wù)綁定, 服務(wù)器下發(fā)機(jī)器原封返回
- 序號(hào)ID, 報(bào)文遞增序號(hào)ID,每個(gè)報(bào)文遞增1
把以上幾個(gè)字段安排好, 基本能避免80%以上的坑了。
協(xié)議邏輯關(guān)系的注意事項(xiàng):
- 最好不要存在強(qiáng)一致性設(shè)計(jì),如心跳每次必須回復(fù)。可以考慮設(shè)計(jì)為連續(xù)3次未收到心跳響應(yīng)再做其他業(yè)務(wù)
- 設(shè)備進(jìn)行重連時(shí),最好取(3 - 100S)隨機(jī)數(shù)進(jìn)行重連.避免大規(guī)模設(shè)備掉線后導(dǎo)致的集體重連進(jìn)而導(dǎo)致雪崩現(xiàn)象
- 設(shè)備可以增加網(wǎng)絡(luò)測(cè)試指令。這個(gè)指令可以靈活運(yùn)用于業(yè)務(wù)。
- 如果需要強(qiáng)制業(yè)務(wù),通訊方案必須多種合體(TCP/短信/udp)都用上。
- 協(xié)議可以攜帶時(shí)間,但是最好不要使用時(shí)間做業(yè)務(wù)標(biāo)識(shí)。而是使用sessionId or seqId
關(guān)于設(shè)備安全注意事項(xiàng):
- 最好進(jìn)行一個(gè)混肴,異或加密也行。反正不要明文傳輸
- 每個(gè)設(shè)備生成一個(gè)密鑰。增加破解難度
- 盡可能保存設(shè)備所有信息。這個(gè)越全越好
后臺(tái)服務(wù)開(kāi)發(fā)的注意事項(xiàng):
把以上都做到, 基本上服務(wù)就比較安全可靠了。我司目前25W臺(tái)設(shè)備在線, 峰值35W臺(tái)。均使用以上方案。目前鏈入層也只是使用了3臺(tái) 8核 32GB的服務(wù)器。?
總結(jié)
以上是生活随笔為你收集整理的物联网项目开发必须要注意的几点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3步即可完成在线压缩gif文件大小
- 下一篇: 工业机器人(5)-串口通信技术与MODB