国产成人精品无码青草_毛片一级_嫩草一区二区三区_国产成人a片免费观看_国产精品中文字幕一区二区_欧美久久久一区二区三区

構建全域感知能力,打造高并發 IoT 物聯網平臺

來源:IoT 物聯網 | 2023-02-13 16:00 | 作者:張天智

  隨著社會數字化進程不斷的提升,數字技術正在以新方式、新理念、新形態逐漸融入我們的經濟、文化、生產生活等各個領域乃至全過程。而在這背后涌現出的是海量數據以及海量設備高并發等問題,這也使業務系統面臨前所未有的巨大的挑戰。目前OneNET城市物聯網平臺面對大連接的應用場景,經受住了海量數據和高并發的挑戰。那么,如此高的性能挑戰,平臺是如何進行應對的?

  作者:張天智

  單位:中移物聯網有限公司

  Part 01

  ●  高并發框架

  高并發是一種在“同一時間點或極短時間內出現大量的操作請求”的場景。而傳統的網絡通信模型,在面對海量數據高并發場景,已經顯得力不從心;一款優秀的高并發框架是現階段網絡通信必不可少的一環,如:Grizzly、Netty,Mina。平臺在面對海量設備接入場景,選擇了Netty成為整個接入能力的核心框架。其單節點百萬級接入,集群千萬級的海量接入能力成為了當前平臺在高并發場景下的解決方案。

  - Netty是什么?

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

  - 為什么要選用Netty?

  相較于傳統的IO模型,Netty的IO線程NioEventLoop 聚合了多路復用器Selector,可以同時并發處理成千上萬個客戶端連接,在線程從客戶端讀寫數據閑暇時,線程可以進行其他任務,而無需等待讀寫數據。在線程模型上,Netty的線程模型也叫Reactor模型,核心是基于事件驅動的方式來處理事件;其分布式的異步架構,使得事件處理器之間高度解耦,可以方便擴展事件處理邏輯;同時通過隊列暫存事件,線程消費事件,能方便并行異步處理事件。

  - Netty的優勢是什么?

  Netty適用于各種傳輸類型的統一API阻塞和非阻塞Socket;基于靈活且可擴展的事件模型,可以清晰地讓開發者專注于業務而無需關注底層架構,提升了開發效率;具備高度可定制的線程模型-單線程,一個或多個線程池;真正的無連接數據報套接字的支持。Zero-Copy技術使得Netty有更低的資源消耗,以及不必要的內存拷貝。

  Part 02

  ●  微服務架構

  “一根筷子易折斷,一把筷子難折斷”。對于平臺也是一樣,巨大的單體式服務總會到達一個性能瓶頸。平臺面對千萬級,乃至億級的接入,單體服務只能進行橫向擴展,部署更多的單體式服務;而單體式服務包含了全量的服務功能,任何一個功能出現問題,會面臨所有的功能都不可用;同樣單體式服務代碼復雜度也非常高,在服務中包含了大量的業務邏輯。隨著時間推移,需求不斷增多,代碼也越來越復雜,維護成本也越來越高,甚至對于修復bug和新增功能都要非常謹慎,可謂牽一發而動全身。

  平臺選擇微服務的整體架構設計,采用分布式部署的方式完美的解決了單體服務所面對的窘境。

  - 功能原子化,高可維護性

  將復雜的單體式服務以功能點拆分為專注單一功能的微服務,并通過定義良好的接口清晰地表述服務邊界,由于體積小、復雜度低,易于保持高可維護性,并提高了研發效率。

  - 服務獨立性,部署風險低

  微服務具備獨立的運行進程,可以單獨進行部署。當某個微服務發生變更時無需部署整個應用的服務,只需要對變更的微服務進行重新部署。使得發布更加高效,降低了對正式環境所造成的部署風險,最終縮短應用受影響的時間。

  - 高擴展,高容錯

  微服務便于橫向擴展,不同微服務在擴展需求存在差異時,可以根據微服務的實際需求進行獨立擴展,而不需要對整個應用進行擴展,節省了資源,提高了資源利用效率。

  微服務也增加了應用的高容錯性,在單個微服務發生故障的情況下,不會影響到其他微服務,導致整個應用不可用。具備多個節點的微服務,上層的微服務會通過重試可用微服務或者平穩的故障轉移機制實現應用層面的高容錯性。

  Part 03

  ●  負載均衡

  面對大量的用戶訪問,高并發請求,海量的數據,即使是使用高性能框架和微服務架構的設計也還不能完全解決應用服務的壓力。通常客戶端在請求服務端時會有一個統一的訪問入口,那這個統一的訪問入口是如何將我們的請求分發到壓力較小的服務器上去的呢?答案就是“負載均衡”。

  負載均衡,顧名思義就是將客戶端請求進行平衡,分攤到多個服務器單元,優化資源的使用,最大化吞吐量,最小化響應時間并避免任何的單一資源過載的技術。

  負載均衡的分類主要包含如下幾種:

  二層負載均衡

  采用虛擬mac的形式,外部對虛擬mac地址請求,負載均衡接收后分配實際的mac地址服務進行響應處理。

  三層負載均衡

  采用虛擬IP的方式,外部對虛擬IP的請求,負載均衡后分配到實際的IP地址進行響應

  四層負載均衡(TCP)

  四層負載均衡是基于三層負載均衡通過發布三層負載均衡的IP地址,加入四層的端口號,來決定哪些流量需要做負載均衡;LVS在四層負載均衡性能上高于Nginx的。

  七層負載均衡(HTTP)

  七層負載均衡是在更高的應用層上執行負載均衡,會對每個消息實際內容進行處理,主要通過解析消息內容,得到消息內容的有效標識,最終決定選擇的內部服務;例如選用URL來做出負載均衡決策;Nginx在功能性和便利性上是要好于LVS的。

  平臺負載均衡采用LVS+Keepalived+Nginx對業務流進行分發,實現整體負載均衡;支持TCP、UDP等協議的四層負載均衡;支持HTTP/HTTPs等協議的七層負載均衡;新增或刪除后端服務后可重新負載業務流。

  Part 04

  ●  分布式中間件

  高并發框架、微服務架構設計、負載均衡的使用解決了大部分的服務端的并發壓力。但海量數據在磁盤中的讀寫,I/O的瓶頸也是非常明顯的。數據的存儲依舊也會造成應用服務的瓶頸。分布式中間件的使用就尤為重要了。

  - 分布式緩存

  緩存是一種用于提高系統響應速度、改善系統運行性能的技術。緩存通常是基于內存的,數據庫中數據的讀寫通常是基于磁盤,從緩存讀取數據比從磁盤讀取數據快兩個數量級。

  - 分布式消息隊列

  消息隊列是一種用于解決應用耦合、異步消息、流量削鋒等場景的中間件技術。它可以實現高性能、高可用、可伸縮和最終一致性架構,是大型分布式系統不可缺少的中間件。

  平臺微服務架構設計方面同樣會使用緩存-分布式Redis緩存,分布式Redis緩存具有高性能、動態擴展、高可用、易用性等特點,采用集群方式來滿足高讀寫性能場景及容量需彈性變配的業務需求。也使用了分布式Kafka,其對于消息異步的處理,微服務之間的應用解耦也是不可或缺的部分。

【聲明】物流產品網轉載本文目的在于傳遞信息,并不代表贊同其觀點或對真實性負責,物流產品網倡導尊重與保護知識產權。如發現文章存在版權問題,煩請聯系小編電話:010-82387008,我們將及時進行處理。

10秒快速發布需求

讓物流專家來找您

主站蜘蛛池模板: 色综合激情无码中文字幕 | 亚欧无码AV在线观看 | 天美传媒一区二区 | 欧美综合影院 | 最新欧美激情-推荐欧美激情 - 右手影院 | 玖草视频在线观看 | A毛片毛片看免费 | www.av天堂com| 精品日韩欧美一区二区 | 亚洲AV美女一区二区三区 | 人妻蜜と1~4中文字幕月野定规 | 精品无码免费专区毛片 | 精品国产亚洲AV麻豆 | 白丝尤物小仙女自慰网站 | 国产办公室无码视频在线观看 | 我要看黄色大片 | 色欲AV无码一区二区三区 | 波多野结衣在线播放一区 | 国产成人亚洲精品狼色在线 | 国产 国语对白 露脸 | 91tv影院| 无码AV免费网站 | 麻豆传媒在线观看 | 曰韩无码AV一区二区免费 | 日本三级免费网站 | 欧美日韩AV无码一区二区三区 | 亚洲人成无码网站WWW | 激情久爱免费视频在线 | 在线天堂资源www中文 | 国产乱码一区二区三区 | 最新欧美日韩 | 亚洲春色Aⅴ无码专区在线播放 | 日韩美a一级毛片国产 | 女人扒开下面无遮挡免费 | 国产美足白丝榨精在线观看SM | 二级成 人影片 免费观看 | 男人扒开添女人下部免费视频 | yw尤物av无码| 在线视频日韩欧美国产 | 亚洲成a人片777777 | 精品一品国产午夜福利视频 |