一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用 ebpf 能力加速ServiceMesh如何降低并消除網(wǎng)絡(luò)時(shí)延帶來(lái)的影響

openEuler ? 來(lái)源:openEuler ? 作者:openEuler ? 2021-12-21 14:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

服務(wù)網(wǎng)格的前世今生早期的微服務(wù)架構(gòu)上存在著服務(wù)發(fā)現(xiàn)、負(fù)載均衡、授權(quán)認(rèn)證等各種各樣的難題與挑戰(zhàn)。起初微服務(wù)踐行者們大多自己實(shí)現(xiàn)這么一套分布式通信系統(tǒng)來(lái)應(yīng)對(duì)這些挑戰(zhàn),但這無(wú)疑造成了業(yè)務(wù)功能的冗余,解決此問題的方法就是將共有的分布式系統(tǒng)通信代碼提取出來(lái)設(shè)計(jì)成一套框架,以框架庫(kù)的方式供程序調(diào)用。但這個(gè)看似完美的方法卻存在著幾個(gè)致命的弱點(diǎn):

框架大部分對(duì)業(yè)務(wù)來(lái)說是侵入式修改,需要開發(fā)者學(xué)習(xí)如何使用框架

框架無(wú)法做到跨語(yǔ)言使用

處理復(fù)雜項(xiàng)目框架庫(kù)版本的依賴兼容問題非常棘手,框架庫(kù)的升級(jí)經(jīng)常導(dǎo)致業(yè)務(wù)的被迫升級(jí)。

隨著微服務(wù)架構(gòu)的發(fā)展,以 Linkeerd/Envoy/NginxMesh 為代表的 sidecar 代理模式應(yīng)運(yùn)而生,這就是第一代的 serviceMesh。它作為一個(gè)基礎(chǔ)設(shè)施層,與業(yè)務(wù)進(jìn)程完全解耦,和業(yè)務(wù)一起部署,接管業(yè)務(wù)件之間的通信,將網(wǎng)絡(luò)數(shù)據(jù)收發(fā)單獨(dú)抽象出一層,在這層集中處理了服務(wù)發(fā)現(xiàn)、負(fù)載均衡、授權(quán)認(rèn)證等分布式系統(tǒng)所需要的功能,實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)渲姓?qǐng)求的可靠傳輸,較為完美的解決了微服務(wù)框架庫(kù)中的問題。

但在軟件開發(fā)領(lǐng)域沒有萬(wàn)能的銀彈。ServiceMesh 帶來(lái)了這么多便利的同時(shí),也不可避免的存在著一些問題。傳統(tǒng)方式下,客戶端到服務(wù)端的消息僅需進(jìn)出一次內(nèi)核協(xié)議棧即可完成消息傳遞,但在 sidecar 模式中,一般選擇使用內(nèi)核的 iptables 能力劫持業(yè)務(wù)流量,這就造成了業(yè)務(wù)數(shù)據(jù)需要多次進(jìn)出內(nèi)核協(xié)議棧,導(dǎo)致業(yè)務(wù)時(shí)延增大,吞吐量變低。

openEuler 21.03 版本下進(jìn)行 sidecar(envoy)模式基準(zhǔn)測(cè)試發(fā)現(xiàn),with-envoy 與 non-envoy 模式下,時(shí)延有大幅增加

利用 ebpf 能力加速 ServiceMesh有沒有什么方法可以在享受 ServiceMesh 提供便利服務(wù)的基礎(chǔ)上同時(shí)降低并消除網(wǎng)絡(luò)時(shí)延帶來(lái)的影響呢?在這里就不得不說下 ebpf 技術(shù),ebpf 是在 kernel 中的一項(xiàng)革命性技術(shù),旨在提供不修改內(nèi)核代碼或加載內(nèi)核模塊的基礎(chǔ)上更加安全有效的擴(kuò)展內(nèi)核的能力。使用 ebpf 能力短接內(nèi)核網(wǎng)絡(luò)協(xié)議棧來(lái)降低網(wǎng)絡(luò)時(shí)延,提升 ServiceMesh 的使用體驗(yàn),這是目前業(yè)界通用的做法。

為了實(shí)現(xiàn)短接內(nèi)核網(wǎng)絡(luò)協(xié)議棧的目標(biāo),我們需要使用到 ebpf 提供的兩種能力,分別是:sockops 與 socket redirection,openEuler 使用的 kernel 版本為 5.10,已經(jīng)支持了 ebpf 的這兩種能力。

sockops 提供了在 tcp socket 創(chuàng)建連接時(shí)將 socket 使用 key(一般是四元組)標(biāo)識(shí)后保存在 sockmap 數(shù)據(jù)結(jié)構(gòu)中的能力

socket redirection 在傳輸 tcp 數(shù)據(jù)時(shí)支持使用 key 去 sockmap 中引用 socket,命中后可直接將數(shù)據(jù)轉(zhuǎn)發(fā)到此 socket 中

對(duì)于未在 sockmap 中找到的 socket,正常將數(shù)據(jù)包通過內(nèi)核網(wǎng)絡(luò)協(xié)議棧發(fā)送出去

將這些能力結(jié)合在一起,就可以在不經(jīng)過內(nèi)核網(wǎng)絡(luò)協(xié)議棧的前提下直接將數(shù)據(jù)包轉(zhuǎn)發(fā)到對(duì)應(yīng)的 socket 上,完成數(shù)據(jù)的一次傳輸,降低在內(nèi)核網(wǎng)絡(luò)協(xié)議棧上的時(shí)間消耗。

在 tcp socket 建立連接的過程中,實(shí)際上有兩次連接建立的過程,我們通常稱之為正向連接與反向連接。因正反向連接在建連過程中均需要通過 iptables 信息來(lái)獲取實(shí)際的 ip 地址與端口號(hào),openEuler 在 iptables 的工作原理上新增 helper 函數(shù),將獲取對(duì)端信息的能力下沉到內(nèi)核中,可以在 ebpf 函數(shù)中主動(dòng)獲取到 iptables 轉(zhuǎn)換過的地址。這樣我們可以建立一個(gè)輔助 map 用于存放正反向連接的對(duì)應(yīng)關(guān)系并在 socket redirection 轉(zhuǎn)發(fā)時(shí)先從輔助 map 中尋找到對(duì)端的連接信息,成功找到對(duì)端的連接信息后再進(jìn)行 socket 轉(zhuǎn)發(fā)動(dòng)作。原理如下圖

通過 sockops 能力的加速,我們?cè)?openEuler21.03 上實(shí)測(cè)的結(jié)果如下:

測(cè)試環(huán)境:openEuler-21.03 / 5.10.0-4.17.0.28.oe1.x86_64

組網(wǎng):fortio-envoy-envoy80

qps 提升約為 18%,平均時(shí)延提升 15%

下一步的工作:徹底消除 ServiceMesh 性能損耗從 openEuler21.03 實(shí)際測(cè)試中可以看出,sockmap 對(duì)于 ServiceMesh 可以進(jìn)行加速,但是加速的結(jié)果與不使用 ServiceMesh 相比仍然有較大差距。仔細(xì)分析,sockmap 并沒有消耗 socket buff 之間的數(shù)據(jù)拷貝,也沒有消耗 app/envoy 之間通信時(shí)的上下文切換,那問題可能仍然出在 ServiceMesh 架構(gòu)上。有沒有一種方法,既有 ServiceMesh 易管理、易部署的能力,又能消除其帶來(lái)的性能劣化影響?目前 openEuler sig-high-performance-network 正在嘗試這方面的工作,已經(jīng)有了初步進(jìn)展。

原文標(biāo)題:openEuler結(jié)合ebpf提升ServiceMesh服務(wù)體驗(yàn)的探索

文章出處:【微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91887
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70751
  • openEuler
    +關(guān)注

    關(guān)注

    2

    文章

    328

    瀏覽量

    6342

原文標(biāo)題:openEuler結(jié)合ebpf提升ServiceMesh服務(wù)體驗(yàn)的探索

文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    信而泰×DeepSeek:AI推理引擎驅(qū)動(dòng)網(wǎng)絡(luò)智能診斷邁向 “自愈”時(shí)代

    對(duì)工程師個(gè)人經(jīng)驗(yàn)的過度依賴,降低主觀因素導(dǎo)致的誤判風(fēng)險(xiǎn),實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的客觀決策。l 持續(xù)自進(jìn)化:模型通過持續(xù)學(xué)習(xí)新的故障案例和網(wǎng)絡(luò)變化,動(dòng)態(tài)更新知識(shí)庫(kù),自適應(yīng)網(wǎng)絡(luò)架構(gòu)演進(jìn),保持診斷能力
    發(fā)表于 07-16 15:29

    華為AI UBB解決方案加速網(wǎng)絡(luò)邁向高階智能

    解決方案,包括AI FAN、AI OTN、AI WAN和ADN四大部分,端到端覆蓋家庭網(wǎng)絡(luò)、承載網(wǎng)絡(luò)和UBB智能管控系統(tǒng)。AI UBB解決方案通過端到端設(shè)備內(nèi)生智能和全面能力提升,為AI應(yīng)用提供極致體驗(yàn),實(shí)現(xiàn)高品質(zhì)入算和高效算力
    的頭像 發(fā)表于 06-23 15:56 ?417次閱讀

    神經(jīng)網(wǎng)絡(luò)AI降噪回音消除模塊 A-29說明書

    設(shè)備獲得更好的語(yǔ)音品質(zhì)。在同類型模塊中,主芯片的處理能力,及算法差異,在外形結(jié)構(gòu)比較小,喇叭音量又很 大的通話產(chǎn)品中,回音消除功能很難處理。而 A-29P 的優(yōu)異處理性能,則很好解決了這個(gè)問 題,保持非常好的全雙工流暢度。
    發(fā)表于 06-18 15:23 ?0次下載

    鴻蒙5開發(fā)寶藏案例分享---點(diǎn)擊完成時(shí)分析

    : 動(dòng)畫時(shí)長(zhǎng) 完成時(shí) 100ms 99ms 1000ms 1007ms 優(yōu)化建議 : 默認(rèn)300ms可縮減至150-200ms 高頻操作區(qū)域建議≤100ms 使用硬件加速動(dòng)畫 ?** 案例3:網(wǎng)絡(luò)請(qǐng)求
    發(fā)表于 06-12 17:03

    RAKsmart智能算力架構(gòu):異構(gòu)計(jì)算+低時(shí)網(wǎng)絡(luò)驅(qū)動(dòng)企業(yè)AI訓(xùn)練范式升級(jí)

    在AI大模型參數(shù)量突破萬(wàn)億、多模態(tài)應(yīng)用爆發(fā)的今天,企業(yè)AI訓(xùn)練正面臨算力效率與成本的雙重挑戰(zhàn)。RAKsmart推出的智能算力架構(gòu),以異構(gòu)計(jì)算資源池化與超低時(shí)網(wǎng)絡(luò)為核心,重構(gòu)AI訓(xùn)練基礎(chǔ)設(shè)施,助力企業(yè)實(shí)現(xiàn)訓(xùn)練速度提升、硬件成本下降與算法迭代
    的頭像 發(fā)表于 04-17 09:29 ?321次閱讀

    MathWorks和Altera利用AI加速無(wú)線通信系統(tǒng)發(fā)展

    降低前傳流量和帶寬要求,共同加速 Altera FPGA 的無(wú)線開發(fā)。從事 5G 和 6G 無(wú)線通信系統(tǒng)的工程師現(xiàn)可以在降低成本的同時(shí),確保用戶數(shù)據(jù)的完整性,維持無(wú)線通信系統(tǒng)的可靠性
    的頭像 發(fā)表于 03-20 15:32 ?721次閱讀

    利用eBPF程序繞過內(nèi)核以加速存儲(chǔ)訪問

    隨著微秒級(jí)NVMe存儲(chǔ)的蓬勃發(fā)展,Linux內(nèi)核存儲(chǔ)棧的開銷幾乎是存儲(chǔ)訪問時(shí)間的兩倍,已經(jīng)成為性能瓶頸。
    的頭像 發(fā)表于 03-01 16:09 ?531次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>eBPF</b>程序繞過內(nèi)核以<b class='flag-5'>加速</b>存儲(chǔ)訪問

    利用GaN HEMTs降低電機(jī)驅(qū)動(dòng)應(yīng)用的系統(tǒng)成本

    電子發(fā)燒友網(wǎng)站提供《利用GaN HEMTs降低電機(jī)驅(qū)動(dòng)應(yīng)用的系統(tǒng)成本.pdf》資料免費(fèi)下載
    發(fā)表于 01-23 08:30 ?0次下載
    <b class='flag-5'>利用</b>GaN HEMTs<b class='flag-5'>降低</b>電機(jī)驅(qū)動(dòng)應(yīng)用的系統(tǒng)成本

    HarmonyOS應(yīng)用點(diǎn)擊完成時(shí)問題定位流程及原理

    在HarmonyOS應(yīng)用開發(fā)中,完成時(shí)是指用戶操作HarmonyOS移動(dòng)終端時(shí),從輸入觸控指令到界面完全刷新結(jié)束達(dá)到可以閱讀的穩(wěn)定狀態(tài)所用時(shí)間,點(diǎn)擊完成時(shí)依據(jù)頁(yè)面轉(zhuǎn)場(chǎng)類型可以分為頁(yè)面內(nèi)跳轉(zhuǎn)
    的頭像 發(fā)表于 12-23 11:15 ?872次閱讀
    HarmonyOS應(yīng)用點(diǎn)擊完成時(shí)<b class='flag-5'>延</b>問題定位流程及原理

    SS-50離子棒,小體積高效靜電消除棒 #靜電 #防靜電 #靜電消除器 #靜電消除

    靜電消除
    深圳市榮盛源科技有限公司
    發(fā)布于 :2024年11月14日 11:08:33

    CDCE913-Q1是否同CDCE813-Q1一樣具有抖動(dòng)消除能力

    CDCE913-Q1是否同CDCE813-Q1一樣具有抖動(dòng)消除能力?感謝
    發(fā)表于 11-11 09:51

    2.34納秒超低時(shí),滿足金融市場(chǎng)高頻交易,AMD發(fā)布新一代金融加速

    降低成本和獲得利潤(rùn)的關(guān)鍵所在。 ? 近日,AMD推出Alveo UL3422 加速卡,它是由 AMD Virtex UltraScale+ FPGA 提供支持,其采用新穎的收發(fā)器架構(gòu),具備硬化且經(jīng)過優(yōu)化的網(wǎng)絡(luò)連接核,專為高速交
    的頭像 發(fā)表于 11-11 01:13 ?2347次閱讀
    2.34納秒超低時(shí)<b class='flag-5'>延</b>,滿足金融市場(chǎng)高頻交易,AMD發(fā)布新一代金融<b class='flag-5'>加速</b>卡

    AMD Alveo V80計(jì)算加速網(wǎng)絡(luò)研討會(huì)

    V80 計(jì)算加速卡由 AMD Versal HBM 自適應(yīng) SoC 提供支持,具有 Alveo 產(chǎn)品系列中最高的邏輯密度、內(nèi)存帶寬、網(wǎng)絡(luò)吞吐量和 DSP 計(jì)算能力。
    的頭像 發(fā)表于 11-08 09:35 ?639次閱讀

    利用關(guān)斷保護(hù)信號(hào)開關(guān)消除電源時(shí)序

    電子發(fā)燒友網(wǎng)站提供《利用關(guān)斷保護(hù)信號(hào)開關(guān)消除電源時(shí)序.pdf》資料免費(fèi)下載
    發(fā)表于 09-23 12:24 ?0次下載
    <b class='flag-5'>利用</b>關(guān)斷保護(hù)信號(hào)開關(guān)<b class='flag-5'>消除</b>電源時(shí)序

    微軟攜手Lumen Technologies擴(kuò)容強(qiáng)化AI網(wǎng)絡(luò)能力合作

    微軟在7月25日宣布了一項(xiàng)重大舉措,旨在通過深化其Copilot等生成式AI服務(wù)在企業(yè)、組織、教育及普通消費(fèi)者領(lǐng)域的布局,來(lái)滿足日益增長(zhǎng)的對(duì)AI算力及網(wǎng)絡(luò)能力的需求。為實(shí)現(xiàn)這一目標(biāo),微軟攜手網(wǎng)絡(luò)系統(tǒng)領(lǐng)域的領(lǐng)先企業(yè)Lumen Te
    的頭像 發(fā)表于 07-25 14:39 ?983次閱讀