△活動現(xiàn)場合影
本次 Open Talk 杭州站活動,邀請了Apache APISIX PPMC 成員王院生、又拍云系統(tǒng)開發(fā)高級工程師高級工程師楊鵬、螞蟻金服技術專家田陽、 PolarisTech 聯(lián)合創(chuàng)始人蔡書、阿里巴巴技術專家王發(fā)康,為到場的百余位技術愛好者和線上數(shù)千名直播觀眾,帶來關于微服務網關、性能優(yōu)化、網絡代理、Service Mesh、負載均衡算法等備受關注的話題分享。
極致性能的微服務網關是怎樣煉成的?
Apache APISIX PPMC 成員王院生做了開場演講,分享了《Apache APISIX 微服務網關極致性能架構解析》的主題。微服務 API 網關 APISIX 自 6 月份開源以來受到開發(fā)者的廣泛關注,并于美國時間 2019 年 10 月 17 日正式進入 Apache 孵化器。APISIX 是一個高性能、可擴展的微服務 API 網關。它是基于 Nginx 和 etcd 來實現(xiàn),和傳統(tǒng) API 網關相比,APISIX 具備動態(tài)路由、插件熱加載、gRPC 協(xié)議轉換等功能,適合微服務體系下的 API 管理。
△Apache APISIX PPMC 成員王院生
王院生著重從架構設計層面講述 Apache APISIX 團隊是如何設計云原生微服務 API 網關的。他詳細闡述了 Apache APISIX 的技術選型思路:
· 配置中心:高可用、增量訂閱、歷史記錄
· 語言或開發(fā)平臺:動態(tài)、高性能、網關的周邊資源豐富
· 數(shù)據校驗:開放標準、有一定的生態(tài)系統(tǒng)
· 學習競對:從 Ganter 報告中獲取前輩列表,做分析和比較
王院生提到,借助 etcd 配置分發(fā)精簡核心,基于 radixtree 前綴樹路由,和高性能基礎庫 apisix/core 是 Apache APISIX 的三板斧,目前 Apache APISIX 擁有 30 余個功能項,是目前性能最強的 API 網關之一。
如何優(yōu)化性能,更快地接收數(shù)據包
又拍云系統(tǒng)開發(fā)高級工程師楊鵬帶來了《性能優(yōu)化:接收數(shù)據包》的分享。他在又拍云主要負責權威 DNS 服務器的開發(fā)、維護和可用性調度等 CDN 穩(wěn)定性保障工作。本次分享楊鵬從基于 Linux 內核,機器如何接收數(shù)據包和如何針對性地進行監(jiān)控和調優(yōu)兩個方面展開。
△又拍云系統(tǒng)開發(fā)高級工程師楊鵬
從網卡到應用程序,數(shù)據包會經過一系列組件,楊鵬認為這個過程中涉及到諸多細微可調的軟硬件參數(shù),并且相互影響。他首先用一個線上問題的實例介紹了網卡驅動的優(yōu)化,通過調整隊列數(shù)量、隊列大小、隊列權重、哈希字段、ntuple filtering 控制特定數(shù)據幀到指定隊列等多種手段進行調優(yōu)。
現(xiàn)場他就數(shù)據包到達網卡控制器(NIC)、產生硬件中斷,通知系統(tǒng)數(shù)據可讀、數(shù)據包被封裝為 skb 結構體準備傳遞到上層協(xié)議棧等三個環(huán)節(jié)做詳細闡述,結合實踐經驗分享了在深入理解底層機制的基礎上如何做出“場景化”的最優(yōu)配置。
螞蟻金服網絡代理的演進之路
來自螞蟻金服的技術專家田陽分享了《螞蟻網絡代理的演進之路》的主題,他是螞蟻開源項目 SOFAMosn 的核心成員,Tengine 專家。他現(xiàn)場介紹了螞蟻金服網絡代理在接入層以及 Mesh 化道路上,從網絡硬件設備到自研平臺,從傳統(tǒng)服務治理到 Service Mesh,是如何一步步支撐秒級百萬支付,千萬紅包請求的。
△螞蟻金服技術專家田陽
田陽詳細介紹了螞蟻金服為了擁抱微服務、云原生,將異構語言體系融合,并對全局流量進行管理,打造金融級的網絡安全,而擁抱 Service Mesh 的實踐。SOFAMesh 是螞蟻金服自研平臺,目前螞蟻內部已經有 20 多萬的容器實現(xiàn) Mesh 化,并且通過業(yè)務鏈路的下沉,RT 實現(xiàn)了下降,平穩(wěn)支撐大促活動。
面向未來,田陽認為網絡代理有以下趨勢:
· 云原生、多云混合云時代,南北,東西流量的邊界逐漸模糊
· 應用網絡代理層部分能力固化,下沉至系統(tǒng)網絡?;蛘咧悄苡布O備
· Sidecar -> Proxyless -> Networkless
· 物理通信基礎設施的升級勢必帶來應用網絡層的變革
最簡單實用的 Service Mesh 實現(xiàn):Flomesh
PolarisTech 聯(lián)合創(chuàng)始人的蔡書分享了《簡單的 Service Mesh——Flomesh》的主題。蔡書曾在今年 4 月份公開分享過《在混合環(huán)境下服務網格的實踐》,而經過半年的努力,他們團隊將這些實踐經驗實現(xiàn)成為一個開箱即用的產品。
△PolarisTech 聯(lián)合創(chuàng)始人的蔡書
蔡書介紹到,從功能角度展開理解 Flomesh,F(xiàn)lomesh 主要實現(xiàn)了四個方面的功能:流量管理,安全和訪問控制,微服務與服務治理,API 管理。Flomesh 在實踐中可以用在多種場景,包括微服務治理、開放平臺及API平臺、多云環(huán)境下的流量管理、Serverless 平臺、IoT 網關等。
蔡書還做了現(xiàn)場的演示,展示了 Flomesh 的反向代理與負載均衡、訪問控制與流控、Spring 微服務、灰度發(fā)布、服務拓撲與分布式跟蹤、網關 Perf 測試等內容。
阿里七層流量入口負載均衡算法演變之路
最后一位出場的是來自阿里巴巴的技術專家王發(fā)康,他是 Tengine 開源項目 maintainer,目前主要負責阿里集團 WEB 統(tǒng)一接入層的開發(fā)及維護。Tengine 作為阿里集團七層流量入口核心系統(tǒng),支撐阿里巴巴歷年雙 11 等大促活動,提供智能的流量轉發(fā)策略、HTTPS 加速卸載、動態(tài)服務發(fā)現(xiàn)、系統(tǒng)限流保 護、動態(tài)開關、鏈路追蹤等眾多高級特性。
△阿里巴巴技術專家王發(fā)康
王發(fā)康現(xiàn)場介紹了 Tengine 從最初使用 Nginx 官方 SWRR(Smooth Weighted Round-Robin)負載均衡算法到 VNSWRR(Virtual Node Smooth Weighted Round-Robin)算法的演變過程。由于壓測平臺和流量調度平臺會動態(tài)調整接入層后端機器的轉發(fā)權重,原生 NGINX 的負載均衡算法會導致調高權重的機器瞬間請求量暴漲,導致壓測平臺和流量調度平臺不可用,為此 Tengine 團隊創(chuàng)新地實現(xiàn)了 VNSWRR 算法,達到完美均衡效果的同時,實現(xiàn)了 QPS 處理能力較 SWRR 算法有 60% 左右的提升。
王發(fā)康總結到,解決問題優(yōu)先要考慮性能的優(yōu)化;任何一個特殊現(xiàn)象,包括趨勢圖中的波峰波谷,其背后必定有原因;簡單并不代表 low,高效、可靠非常重要;小程序大流量場景,應該具有兼容并包的思想。
至此本次 Open Talk 杭州站活動完美落幕,五位講師通過分享自身的經歷,令現(xiàn)場和直播觀眾受益頗多。線上將陸續(xù)更新本次活動五位講師的現(xiàn)場分享內容,敬請關注 Open Talk 官網或又拍云微信公眾號。