亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種異步汽車數(shù)據(jù)接收端實(shí)現(xiàn)方案

        2021-07-22 03:11:34韋通明張送溫豐蔚溫麗梅張亮
        汽車實(shí)用技術(shù) 2021年13期
        關(guān)鍵詞:模型系統(tǒng)

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

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

        前言

        隨著汽車智能網(wǎng)聯(lián)化的發(fā)展,汽車變得更加智能化的同時(shí),也產(chǎn)生更多的數(shù)據(jù)。在傳統(tǒng)的數(shù)據(jù)接收端中,數(shù)據(jù)的接收以及轉(zhuǎn)發(fā)都是阻塞式運(yùn)行,當(dāng)數(shù)據(jù)量大的時(shí)候,接收端可能卡死甚至宕機(jī)。接收端的宕機(jī)可能導(dǎo)致終端數(shù)據(jù)的丟失,會(huì)對(duì)公司造成重大的口碑和經(jīng)濟(jì)損失。因此,保證平臺(tái)平穩(wěn)而高效的運(yùn)行,對(duì)于智能網(wǎng)聯(lián)汽車平臺(tái)的重要性不言而喻。

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

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

        1 系統(tǒng)方案與架構(gòu)

        1.1 Netty模型

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

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

        圖1 Netty線程模型

        1.2 Kafka模型

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

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

        Kafka的模型如圖2:

        圖2 Kafka架構(gòu)圖

        1.3 系統(tǒng)架構(gòu)

        在本方案之中,Netty作為與終端直連的數(shù)據(jù)接收端,負(fù)責(zé)接收外部鏈接請(qǐng)求,并且將終端上傳的數(shù)據(jù)轉(zhuǎn)發(fā)到 Kafka消息中間件之中。Netty接收端的數(shù)量可以根據(jù)終端數(shù)量動(dòng)態(tài)擴(kuò)容,始終滿足終端的需求。Kafka集群作為整個(gè)系統(tǒng)的緩沖池,接受從接收端轉(zhuǎn)發(fā)過來的流量,減輕接收端的壓力。Kafka提供緩存、冗余、負(fù)載均衡等能力,能保證consumer段始終能夠在最高效的狀態(tài)運(yùn)行。

        整個(gè)系統(tǒng)的架構(gòu)如圖3所示:

        圖3 系統(tǒng)架構(gòu)

        2 運(yùn)行情況

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

        服務(wù)端分別使用傳統(tǒng)的 TcpSocket、原生 Netty以及Netty+Kafka實(shí)現(xiàn),客戶端并發(fā)規(guī)格為 2000、4000、6000、8000、10000、15000和20000個(gè)客戶端,壓測(cè)數(shù)據(jù)如圖4所示:

        圖4 壓測(cè)數(shù)據(jù)

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

        3 結(jié)束語(yǔ)

        本文提出了一種整合Netty框架以及Kafka中間件的汽車大數(shù)據(jù)接收端的實(shí)現(xiàn)方案,并且分析了 Netty以及 Kafka在本方案之中的作用,二者是本方案能高效、穩(wěn)定運(yùn)行的基礎(chǔ)。本文還將本方案和傳統(tǒng)的方案進(jìn)行了性能對(duì)比,本方案的性能在并發(fā)量大時(shí),會(huì)有明顯的優(yōu)勢(shì)。本文提供樣例是單機(jī)部署的方案,在實(shí)際運(yùn)用的場(chǎng)景之中,只要將方案進(jìn)行集群化部署,就能支撐更多的終端、更大的并發(fā),具有很高的實(shí)際價(jià)值。

        猜你喜歡
        模型系統(tǒng)
        一半模型
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        3D打印中的模型分割與打包
        邻居人妻的肉欲满足中文字幕| 亚洲精品6久久久久中文字幕| 亚洲色图视频在线播放| 久久国产精品免费专区| 国产精品区一区二区三在线播放| 国产精品久久毛片av大全日韩| 欧美日本道免费二区三区| 热综合一本伊人久久精品| www夜插内射视频网站| 草草久久久无码国产专区| 午夜精品一区二区三区无码不卡| 人妖系列在线免费观看| 色欲色香天天天综合网www| 亚洲 精品 综合 精品 自拍| 美女污污网站| 国产亚洲精品视频网站| 亚洲av无码专区在线| 欧美成人精品一区二区综合| 亚欧同人精品天堂| 亚洲不卡在线免费视频| 粗大猛烈进出白浆视频 | 精品久久人妻av中文字幕| 欧美在线三级艳情网站| 久久av一区二区三区下| 日本男人精品一区二区| 天天燥日日燥| 亚洲日韩欧美一区二区三区| 久久99免费精品国产| 丰满少妇弄高潮了www| 欧美午夜精品久久久久久浪潮| 国产一区二区三区高清视频| 婷婷久久精品国产色蜜蜜麻豆| 国产如狼似虎富婆找强壮黑人| 毛片无码高潮喷白浆视频| 久久狼人国产综合精品| 国产亚洲精品久久久闺蜜 | 成人无码α片在线观看不卡| 欧美日韩国产在线观看免费| 粉色蜜桃视频完整版免费观看在线| 帅小伙自慰videogay男男| 亚洲熟女少妇一区二区 |