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