IOT高性能服務器實現之路

 

 

市場動態

物聯網市場在2018年第一季度/第二季度出現了意想不到的加速,並將使用的物聯網設備總數提高至7B。這是IoT Analytics最新「 物聯網和短時間展望狀態 」更新中的衆多發現之一。git

全面的公司,尤爲是物聯網軟件,雲和服務公司,遠遠超出了收入預期。Microsoft Azure和Amazon AWS分別增加了93%和49%(在過去12個月內),其物聯網部分對增加作出了重大貢獻。但像C3IoT這樣的小型企業也報告了今年收入增加60%。github

 

全球鏈接設備數量:17B

目前全球使用的鏈接設備數量超過170億,物聯網設備數量達到70億(此數字不包括智能手機,平板電腦,筆記本電腦或固定電話)。編程

 

 

全球物聯網設備數量:7B

全球鏈接增加主要由物聯網設備驅動 - 不管是在消費者方面(例如智能家居)仍是在企業/ B2B方面(例如,鏈接機器)。預計到2020年,活躍的物聯網設備數量將增長到100億,到2025年將增長到220億。這些物聯網設備包括全部活動鏈接,不考慮過去購買但再也不使用的設備。服務器

 

從設備鏈接的角度來看,動態變化很是大網絡

  1. 無線我的網絡(WPAN):架構

    最大數量的物聯網設備經過短程技術(WPAN)鏈接,一般在最大範圍內不超過100米。這些包括藍牙鏈接設備,如耳機,還有Zigbee和Z波鏈接設備,這些設備大多能夠在智能家居中找到,例如,用於鏈接煙霧報警器或恆溫器。框架

  2. 無線局域網(WLAN)異步

    另外一大類是無線局域網,覆蓋長達1千米的鏈接。Wi-Fi是這一類別中最多見的標準,而且看到了巨大的增加,主要是經過使用家庭助理,智能電視和智能揚聲器,但也愈來愈多地用於工業等工業環境中(儘管它繼續扮演次要角色)在這些設置中與其餘技術相比)。分佈式

  3. 低功耗廣域網(LPWAN)ide

    預計將來物聯網設備數量增加的很大一部分未來自低功率廣域網。到2025年,預計將經過LPWAN鏈接超過20億臺設備。該技術承諾極高的電池壽命和超過20千米的最大通訊範圍被三個主要競爭標準Sigfox,Lora和NB-IoT使用,這些標準目前正在全球範圍內推廣,已有超過2500萬臺設備如今鏈接,其中大部分都是智能電錶。

  4. 有線

    當他們想到物聯網時,不多有人會想到有線鏈接。可是,在許多設置中,有線設備鏈接仍然是最便宜和最可靠的選擇。特別是在工業環境中,現場總線和以太網技術在很大程度上使用有線鏈接,預計在將來幾年內仍將這樣作。

  5. 蜂窩/ M2M

    2G,3G和4G技術長期以來一直是遠程設備鏈接的惟一選擇。隨着LPWA和5G的增加勢頭,預計這些傳統蜂窩標準將失去新技術的份額,由於它們爲許多終端用戶提供了更有利可圖的機會。

  6. 5G

    在美國,第一個預標準的5G網絡將在今年年末以前爲住宅和小型企業用戶提供固定無線接入(FWA)服務。雖然在2020年批准最終標準後,將有更多的用例成爲目標,但咱們應該在明年看到第一批採用者並確實但願從那裏快速增加。

    5G是通配符。該技術在2018年仍處於開發階段,經過其龐大的帶寬和極低的延遲來承諾鏈接的新時代,如今由政府,特別是中國大力推廣。爲了將技術創新的均衡從美國和歐洲轉向中國,中國政府認爲5G的採用是一種競爭資產。

  7. 無線鄰域網(WNAN)

    無線鄰域網(WNAN)在通訊範圍方面處於WLAN和諸如蜂窩的遠程技術之間。該技術的典型支持者包括網狀網絡,如Wi-Sun或JupiterMesh。在某些狀況下,該技術被用做LPWA / Cellular的替代品(例如,在公用事業領域網絡中),而且在其餘狀況下用做互補元件(例如,用於在沒有其餘任何東西到達的深處進行計量)。

  8. 其餘

    其餘技術,如衛星和非機密專有網絡將繼續在物聯網中發揮做用,儘管與其餘技術相比較小。

 

全球物聯網市場:2018年的市場價爲151億美圓,預計到2025年將增加至15.67億美圓

目前的市場情緒和短時間前景很是樂觀。隨着愈來愈多的數據轉移到雲端,新的物聯網應用程序進入市場,分析愈來愈重要,軟件和平臺將繼續推進市場的發展。 隨着物聯網設備數量的增長推進銷售,但硬件利潤率廣泛降低,鏈接和硬件的12個月前景保持穩定。一些硬件專業提供商(例如NVIDIA)彷佛不須要硬件商品化。隨着LPWA技術剛剛推向全球市場,而5G尚未大規模準備就緒,鏈接播放器預計將在2019年及以後的幾年內出現差距。

 

 

 

全球物聯網市場(終端用戶在物聯網解決方案上的支出)預計將從2017年增加37%至151億美圓。因爲物聯網的市場加速(如上所述),這些估計值已向上修正,如今預計到2025年總市場將達到1567億美圓。

目前的物聯網市場趨勢

今天的市場環境極具活力,能夠觀察到幾十種趨勢,包括邊緣到雲集成,TSN鏈接以及物聯網和區塊鏈試驗。對於此版本的物聯網狀態報告,IoT Analytics的分析師團隊總結了50個這樣的看法。

例如,Insight 32強調雲供應商如今愈來愈多地製做本身的雲就緒硬件,以提升物聯網設備與在公共雲或私有云中存儲和分析的數據之間的互操做性和性能。領先的物聯網雲提供商微軟,亞馬遜和谷歌最近都宣佈了本身的硬件。

如下是該報告的摘錄,突出了該具體趨勢並提供了相關的證據。 若是從雲到硬件的這些轉變將對某些現有硬件播放器(例如網關提供商或芯片製造商)構成威脅,還有待觀察。物聯網分析將繼續監控此趨勢和其餘趨勢。

 

 

研究方法和進一步的信息

本文中的全部看法和圖表均來自「 物聯網和短時間展望2018 」報告,這是一份56頁的深度市場報告,可供物聯網分析訂閱客戶使用。該報告的目的是告知咱們的訂閱者市場中發生的事情,使他們始終站在創新的最前沿,最終爲他們的公司作出正確的決策。

該報告包括50個關於當前市場環境的看法以及按行業,技術堆棧和地區劃分的市場細分。經過領導100屢次專家訪談,參加16次行業會議,聽取各類簡報和分析師電話會議,分析師團隊在過去6個月中發現了每一個看法和示例點。

 

IOT技術窺探

以上這些內容,做者做爲一個開發人員,並非一個投資人員和創業先鋒。並不太關係這些具體細節。我所關心的是如何用技術去實現或者模擬一個支持百萬連接的IOT服務器,並不嚴謹,僅作你們參考。

所需技術:

  • MQTT

    MQTT由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech,現爲Cirrus Link)於1999年開發,用於監測穿越沙漠的石油管道。目標是擁有一個帶寬有效且使用不多電池電量的協議,由於這些設備是經過衛星鏈路鏈接的,當時這種設備很是昂貴。 與HTTP及其請求/響應範例相比,該協議使用發佈/訂閱體系結構。發佈/訂閱是事件驅動的,能夠將消息推送到客戶端。中央通訊點是MQTT代理,它負責調度發送者和合法接收者之間的全部消息。向代理髮布消息的每一個客戶端都在消息中包含一個主題。主題是代理的路由信息​​。每一個想要接收消息的客戶端都訂閱某個主題,而且代理將具備匹配主題的全部消息傳遞給客戶端。所以,客戶沒必要彼此瞭解,他們只經過主題進行通訊。該架構支持高度可擴展的解決方案,而不依賴於數據生產者和數據使用者。

     

    MQTT發佈/訂閱架構

    與HTTP的區別在於客戶端沒必要提取所需的信息,可是在有新內容的狀況下,代理會將信息推送到客戶端。所以,每一個MQTT客戶端都與代理具備永久打開的TCP鏈接。若是此鏈接在任何狀況下中斷,MQTT代理能夠緩衝全部消息,並在它從新聯機時將它們發送到客戶端。 如前所述,MQTT中用於分派消息的核心概念是主題。主題是一個簡單的字符串,能夠有更多的層次結構級別,用斜槓分隔。用於發送起居室的溫度數據的示例主題能夠是房屋/起居室/溫度。一方面,客戶端能夠訂閱確切的主題,或者另外一方面使用通配符。對房屋/ + /溫度的訂閱將致使全部消息發送到先前提到的主題房屋/起居室/溫度以及在起居室的地方具備任意值的任何主題,例如房屋/廚房/溫度。加號是單級通配符,只容許一個層次結構的任意值。若是您須要訂閱多個級別,例如訂閱整個子樹,還有一個多級通配符)。它容許訂閱全部底層層次結構級別。好比房子/#訂閱以house開頭的全部主題。

  • Netty

    Netty是 一個異步事件驅動的網絡應用程序框架, 用於快速開發可維護的高性能協議服務器和客戶端。

     

    Netty是一個NIO客戶端服務器框架,能夠快速輕鬆地開發協議服務器和客戶端等網絡應用程序。它極大地簡化並簡化了TCP和UDP套接字服務器等網絡編程。

    「快速簡便」並不意味着最終的應用程序會受到可維護性或性能問題的影響。Netty通過精心設計,具備豐富的協議,如FTP,SMTP,HTTP以及各類二進制和基於文本的傳統協議。所以,Netty成功地找到了一種在不妥協的狀況下實現易於開發,性能,穩定性和靈活性的方法。

    這個能夠看下個人博客和github網址,比較淺顯,大神忽略。持續更新中...!

    博客園出處:https://www.cnblogs.com/sanshengshui

    github出處:https://github.com/sanshengshui    

    我的博客出處:https://sanshengshui.github.io/

  • Kafka

     

    ApacheKafka®是一個分佈式流媒體平臺。這究竟是什麼意思呢?

  • 流媒體平臺有三個關鍵功能:

    • 發佈和訂閱記錄流,相似於消息隊列或企業消息傳遞系統。

    • 以容錯的持久方式存儲記錄流。

    • 記錄發生時處理流。

    Kafka一般用於兩大類應用:

    • 構建可在系統或應用程序之間可靠獲取數據的實時流數據管道

    • 構建轉換或響應數據流的實時流應用程序

    要了解Kafka如何作這些事情,讓咱們深刻探討Kafka的能力。

  • Redis

  • MySQL

技術輪廓圖:

 

其餘

關於IOT市場與技術模擬詳解到這裏就結束了。

原創不易,若是感受不錯,但願給個推薦!您的支持是我寫做的最大動力!

下文會你們逐步用Netty實現MQTT協議的IOT服務器。

版權聲明:

做者:穆書偉

博客園出處:https://www.cnblogs.com/sanshengshui

github出處:https://github.com/sanshengshui    

我的博客出處:https://sanshengshui.github.io/

相關文章
相關標籤/搜索