999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種異步汽車數據接收端實現方案

2021-07-22 03:11:34韋通明張送溫豐蔚溫麗梅張亮
汽車實用技術 2021年13期
關鍵詞:模型系統

韋通明,張送,溫豐蔚,溫麗梅,張亮

(上汽通用五菱汽車股份有限公司技術中心,廣西 柳州545007)

前言

隨著汽車智能網聯化的發展,汽車變得更加智能化的同時,也產生更多的數據。在傳統的數據接收端中,數據的接收以及轉發都是阻塞式運行,當數據量大的時候,接收端可能卡死甚至宕機。接收端的宕機可能導致終端數據的丟失,會對公司造成重大的口碑和經濟損失。因此,保證平臺平穩而高效的運行,對于智能網聯汽車平臺的重要性不言而喻。

使用 Netty作為數據平臺的接收端,在業界內早已有人進行了實踐,王鑫等[2]就提出了一種基于Netty作為基礎的數據通信框架;李熙、謝錦洋[3]也基于Netty和HDFS分布式文件系統設計出了一種大數據的接收以及采集系統。但是上面的兩個系統都是單純利用Netty接收和轉發,Netty的Boss線程和Worker線程互相耦合,資源互相競爭,可能導致數據無法接受或者轉發[1],可能存在數據堆積等風險。

本文針對以上存在的不足,引入了Kafka消息中間件作為Netty的下游,使得Netty接收到的數據可以快速被轉發。Kafka被設計為能承受數十萬迸發的分布式消息中間件,能快速地緩存并且轉發數據,減輕 Netty接收端的壓力。Kafka支持集群多副本部署,能夠防止數據丟失。我們將Netty與Kafka整合,能降低接收端集群的壓力,并且系統更加可靠。

1 系統方案與架構

1.1 Netty模型

Netty引用并優化了JDK5引入的線程池技術,并且修復了JDK原生NIO的BUG,并且將接收線程池與業務線程池進行了分離。其中Acceptor線程池負責接受連接,worker線程池負責處理連接的讀寫事件。這種 Reactor模型的支持使得 Netty能用很少的連接就能處理大量的連接終端。同時,Netty封裝了JDK NIO,簡化了JDK NIO本身復雜的API,保留了安全性高、性能優越等特點。Netty是個性能優秀、使用簡單的網絡通信框架,在本方案中,Netty專門負責接收終端連接請求。

Netty的線程模型如圖1所示:

圖1 Netty線程模型

1.2 Kafka模型

Kafka作為隊列模式的消息中間件,能夠確保數據的順序性。Kafka的一個topic會由多個partition組成,每個partition還會有某個數量的副本,這些副本分散在Kafka的集群之中,一旦Kafka集群的某臺機器發生宕機,可以從其他機器恢復副本數據,從而保證數據的可靠性。Kafka的消息數據在一段時間內,即使被消費,也不會在分區和副本中刪除。Kafka與Netty使用了同樣的Zero-Copy零拷貝技術,使用Send-file模式,可以直接在內核態傳輸數據,提升一倍的數據發送性能。

方案引入Kafka作為消息隊列,能夠高效、可靠地將數據進行匯聚以及削峰填谷,極大地提升了集群的吞吐量和可靠性。

Kafka的模型如圖2:

圖2 Kafka架構圖

1.3 系統架構

在本方案之中,Netty作為與終端直連的數據接收端,負責接收外部鏈接請求,并且將終端上傳的數據轉發到 Kafka消息中間件之中。Netty接收端的數量可以根據終端數量動態擴容,始終滿足終端的需求。Kafka集群作為整個系統的緩沖池,接受從接收端轉發過來的流量,減輕接收端的壓力。Kafka提供緩存、冗余、負載均衡等能力,能保證consumer段始終能夠在最高效的狀態運行。

整個系統的架構如圖3所示:

圖3 系統架構

2 運行情況

為了驗證方案的性能,本文搭建了一套壓力測試的環境。其中,CPU為十代i7-10700F,睿頻4.8 GHz,32G DDR4內存,1T硬盤,操作系統為CentOS7,實驗程序用Java編寫,JDK版本 jdk1.8.0_201,Netty的版本為 4.1.17-Final,Kafka的版本為 1.1.0。使用開源的壓測軟件 JMeter進行模擬,模擬機器配置與服務端保持一致,并且部署在同一個局域網之中,局域網之間通過千兆網卡連接。測試終端模擬每秒發一次1KB的數據。

服務端分別使用傳統的 TcpSocket、原生 Netty以及Netty+Kafka實現,客戶端并發規格為 2000、4000、6000、8000、10000、15000和20000個客戶端,壓測數據如圖4所示:

圖4 壓測數據

根據圖4,可以看出傳統的Tcp Socket在迸發8000左右的時候達到瓶頸,在客戶端迸發更大時,服務端由于壓力過大,吞吐量反而下降;原生的Netty相比Socket吞吐量更高,但是隨迸發上升的趨勢不明顯;本方案吞吐量最高,性能也幾乎是線性增長,峰值的吞吐量達到了原生Netty的1.5倍。并且本方案支持緩沖以及數據冗余,可靠性更強,更適合處理汽車數據這種高迸發的業務場景。

3 結束語

本文提出了一種整合Netty框架以及Kafka中間件的汽車大數據接收端的實現方案,并且分析了 Netty以及 Kafka在本方案之中的作用,二者是本方案能高效、穩定運行的基礎。本文還將本方案和傳統的方案進行了性能對比,本方案的性能在并發量大時,會有明顯的優勢。本文提供樣例是單機部署的方案,在實際運用的場景之中,只要將方案進行集群化部署,就能支撐更多的終端、更大的并發,具有很高的實際價值。

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产偷国产偷在线高清| 精品一区二区三区无码视频无码| 久久99国产综合精品1| 极品av一区二区| 亚洲VA中文字幕| 四虎国产在线观看| 毛片在线看网站| 日韩精品一区二区三区免费在线观看| 国产精品护士| 国产视频大全| 欧美一级在线播放| 一区二区三区成人| 91久久夜色精品| 成人综合在线观看| 国模视频一区二区| 中文字幕日韩视频欧美一区| 青青草91视频| 中文字幕永久视频| 国产乱论视频| 一级毛片网| 亚洲黄网在线| 99尹人香蕉国产免费天天拍| 国产农村1级毛片| 国产毛片不卡| 成人在线亚洲| 天天综合网在线| 日韩成人在线视频| 国产大全韩国亚洲一区二区三区| 91欧美在线| 日本免费a视频| 日本尹人综合香蕉在线观看| 亚洲系列无码专区偷窥无码| 国产成人免费观看在线视频| 综合色在线| 国产区精品高清在线观看| 成人自拍视频在线观看| 欧美天堂久久| 91无码国产视频| 成人韩免费网站| 99手机在线视频| 久久国产精品波多野结衣| 亚洲人妖在线| 国产一区二区精品福利| 国产一区二区三区精品久久呦| 丝袜美女被出水视频一区| 亚洲精品另类| 国产精品久线在线观看| 亚洲天堂网在线观看视频| 人妻精品久久久无码区色视| 日韩第九页| 国产不卡在线看| 中国一级特黄大片在线观看| 在线国产91| 波多野结衣亚洲一区| 欧美色丁香| 99无码中文字幕视频| 成人国内精品久久久久影院| 成色7777精品在线| 婷婷伊人五月| 中文字幕天无码久久精品视频免费 | 另类欧美日韩| 国产无码高清视频不卡| 色老头综合网| 黄色网页在线观看| 欧美国产中文| 国产主播福利在线观看| 久久毛片网| 日韩无码一二三区| 乱系列中文字幕在线视频| 欧洲成人在线观看| …亚洲 欧洲 另类 春色| 国产高潮流白浆视频| 久久精品只有这里有| 免费全部高H视频无码无遮掩| 欧美激情伊人| 在线观看无码av免费不卡网站| 精品偷拍一区二区| 国产超碰一区二区三区| a在线观看免费| 最新日本中文字幕| 亚洲天堂网在线视频| 日韩人妻少妇一区二区|