第 2 1 課 選擇乙個可擴充套件的上行資料處理方案

2021-10-25 08:29:01 字數 672 閱讀 3300

接下來的的幾節課,我們會來設計和實現 maque iothub 的上行資料處理和儲存的功能

在《mqtt 協議快速入門》的討論群裡,問的乙個比較多的乙個問題就是:"服務端怎麼接收客戶端傳送的資料呢?"

這裡我想先做乙個說明,在 mqtt 協議的架構裡面,是沒有"服務端"和"客戶端"的概念的,只有"broker"和"client",所以 emq x 說自己是乙個 mqtt broker,而不是 mqtt 的 server。而服務端和客戶端,是我們在 mqtt 協議的基礎上構建的 c/s 結構的平台或者業務系統裡面的概念,所以我們需要做一些抽象,讓這兩組不太相干的邏輯實體能匹配起來。

在我們的架構裡,iothub server 就是服務端,裝置就是客戶端,iothub server 有乙個最基礎的功能就是接收裝置的資料並儲存,那麼怎麼來實現呢?我們來看一下可能的幾種方案。

pure mqtt 的方案

這個方案使用 mqtt 協議框架內的實體來實現裝置上行資料的接收功能。

像前面說的一樣,mqtt 協議架構裡沒有"服務端"和"客戶端",那麼 iothub server 需要接收裝置端的資料,它需要和裝置一樣,以 mqtt client 的身份接入 emq x broker,訂閱相關的主題來獲取資料:

裝置端發布訊息到特定主題,例如 "data/client/:devicename&#

乙個可擴充套件自適應的日曆元件

這個元件除了很多自帶的api,最好的部分是你可以拿到他vue原始碼,然後進行自定義樣式和功能。github位址如下 效果如下 專案裡的calendar.js是處理農曆日期的,我們如果不需要農曆可以不引入,並把vue中的對應 刪了。我們可以拿到對應的vue 就可以自定義我們樣式了,我們把頭部樣式改成我...

Nutch 乙個靈活可擴充套件的開源web搜尋引擎

在網上找到一篇於2004年11月由commercenet labs出具關於nutch的技術研究報告,報告由dougcutting和commercenet labs的三位研究員一起來完成的。報告的全名是nutch a flexible and scalable open source web sear...

第01課 建立乙個基本的Silverlight應用

在建立乙個silverlight應用程式後,我們什麼都不做,直接編譯一下整個解決方案,可以看到在資源管理器中多出了乙個clientbin的資料夾,並在下面新增了乙個terrylee.silverlightdemo2.xap的檔案。再開啟terrylee.silverlightdemo2testpag...