Spring Cloud的開源可分布式物聯(lián)網(wǎng)(IOT)平臺,用于快速開發(fā)、部署物聯(lián)設(shè)備接入項目,是一整套物聯(lián)系統(tǒng)解決方案
物聯(lián)網(wǎng)架構(gòu)
模塊劃分,四層架構(gòu)
- 驅(qū)動層:用于提供標(biāo)準(zhǔn)或者私有協(xié)議連接物理設(shè)備的 SDK,負(fù)責(zé)南向設(shè)備的數(shù)據(jù)采集和指令控制,基于 SDK 可實現(xiàn)驅(qū)動的快速開發(fā);
- 數(shù)據(jù)層:負(fù)責(zé)設(shè)備數(shù)據(jù)的收集和入庫,并提供數(shù)據(jù)管理接口服務(wù);
- 管理層:用于提供微服務(wù)注冊中心、設(shè)備指令接口、設(shè)備注冊與關(guān)聯(lián)配對、數(shù)據(jù)管理中心,是所有微服務(wù)交互的核心部分,負(fù)責(zé)各類配置數(shù)據(jù)的管理,并對外提供接口服務(wù);
- 應(yīng)用層(開發(fā)中...):用于提供數(shù)據(jù)開放、任務(wù)調(diào)度、報警與消息通知、日志管理等,具備對接第三方平臺能力。
功能設(shè)計,定位目標(biāo)
- 可伸縮:水平可伸縮的平臺,構(gòu)建使用領(lǐng)先的 Spring Cloud 開源技術(shù);
- 容錯:沒有單點故障弱,集群中的每個節(jié)點是相同的;
- 健壯和高效:單一服務(wù)器節(jié)點可以處理甚至數(shù)百成千上萬的設(shè)備根據(jù)用例;
- 可定制:添加新的設(shè)備協(xié)議,并注冊到服務(wù)中心;
- 跨平臺:使用 JAVA 環(huán)境可異地、分布式多平臺部署;
- 自主可控:私有云、公有云、邊緣部署;
- 完善性:設(shè)備快速接入、注冊、權(quán)限校驗;
- 安全(開發(fā)中...):數(shù)據(jù)加密傳輸;
- 多租戶(開發(fā)中...):命名空間,多租戶化;
- 云原生:Kubernetes;
- 容器化:Docker。
后臺運行方式:
啟動 Manager & Data 服務(wù)
在 Idea 中依次啟動 dc3-manager 、 dc3-data
Main函數(shù)為位置:
dc3-manager:dc3-center/dc3-manager/src/main/java/com/dc3/center/manager/ManagerApplication.java
dc3-data:dc3-center/dc3-data/src/main/java/com/dc3/center/data/DataApplication.java
注意:在啟動 dc3-manager 、 dc3-data 的時候由于開啟了 ASPECTJ ,所以需要配置 -javaagent:dc3/lib/aspectjweaver-1.9.5.jar
前臺展示圖片
前端運行方式:
git clone https://github.com/qianfangzheng/iot-dc-client
cd dc3-web
#這步至關(guān)重要,請務(wù)必使用 cnpm 進(jìn)行 install
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
# run
npm run serve
# build
npm run build
# docker build
cd dc3
docker-compose build
# docker run
docker-compose up -d
其它物聯(lián)網(wǎng)平臺參考頁面