7 月 6 日,由又拍云、OpenResty 社區(qū)主辦的 OpenResty × Open Talk 全國(guó)巡回沙龍 | 上海站順利落幕,這是系列活動(dòng)的第四站。OpenResty × Open Talk 全國(guó)巡回沙龍旨在促進(jìn) OpenResty 在技術(shù)圈的發(fā)展,增進(jìn) OpenResty 使用者的交流與學(xué)習(xí)。在上海站活動(dòng)現(xiàn)場(chǎng),三位技術(shù)專家分享了自己專業(yè)的觀點(diǎn)和經(jīng)驗(yàn),讓參加活動(dòng)的開發(fā)者受益匪淺。
眾所周知,OpenResty 是一個(gè)基于 Nginx 與 Lua 的高性能 Web 平臺(tái),越來越受到開發(fā)者的關(guān)注,其內(nèi)部集成了大量精良的 Lua 庫(kù)、第三方模塊以及大多數(shù)的依賴項(xiàng),用于方便地搭建能夠處理超高并發(fā)、擴(kuò)展性極高的動(dòng)態(tài) Web 應(yīng)用、Web 服務(wù)和動(dòng)態(tài)網(wǎng)關(guān)。目前,包括騰訊、京東、美團(tuán)點(diǎn)評(píng)、又拍云、12306、360 等企業(yè)都在內(nèi)部深度應(yīng)用了 OpenResty。
△ 活動(dòng)現(xiàn)場(chǎng)合影
OpenResty × Open Talk 全國(guó)巡回沙龍上海站邀請(qǐng)了 OpenResty 軟件基金會(huì)聯(lián)合創(chuàng)始人王院生、美團(tuán)基礎(chǔ)架構(gòu)部技術(shù)專家張志桐、又拍云平臺(tái)開發(fā)部負(fù)責(zé)人葉靖,分享了包括高性能 API 網(wǎng)關(guān)、HTTP 服務(wù)治理、云存儲(chǔ)網(wǎng)關(guān)等相關(guān) OpenResty 技術(shù)應(yīng)用,云主機(jī)租用,為近百位現(xiàn)場(chǎng)觀眾和數(shù)千線上觀眾提供了一場(chǎng)技術(shù)盛宴。
性能最高的 API 網(wǎng)關(guān):APISIX
OpenResty 社區(qū)、OpenResty 軟件基金會(huì)聯(lián)合創(chuàng)始人王院生做了開場(chǎng)分享,他詳細(xì)介紹了近期剛開源的 API 網(wǎng)關(guān)項(xiàng)目——APISIX,包括 APISIX 的架構(gòu)、功能、性能和一些技術(shù)技巧等。
△ OpenResty 軟件基金會(huì)聯(lián)合創(chuàng)始人王院生
APISIX (https://github.com/iresty/apisix)是一個(gè)云原生、高性能、可擴(kuò)展的微服務(wù) API 網(wǎng)關(guān),基于 OpenResty 和 etcd 實(shí)現(xiàn),和傳統(tǒng) API 網(wǎng)關(guān)相比,APISIX 具備動(dòng)態(tài)路由和插件熱加載機(jī)制,特別適合微服務(wù)體系下的 API 管理。借助 APISIX,用戶可以快速構(gòu)建高性能的微服務(wù) API 網(wǎng)關(guān),可以處理傳統(tǒng)的南北向流量,也可以處理服務(wù)間的東西向流量。
王院生提到,APISIX 具備高性能路由、插件熱加載等機(jī)制,提供動(dòng)態(tài)負(fù)載平衡、身份驗(yàn)證、限流限速等眾多功能。極大的降低了用戶管理 API 和微服務(wù)難度和風(fēng)險(xiǎn)。在最新發(fā)布的 0.5 版本中,APISIX 單核 qps 達(dá)到 2.3 萬,平均延時(shí)僅有 0.6 毫秒。王院生還在分享中介紹了諸多關(guān)于 OpenResty 的編程的哲學(xué)和技巧。
美團(tuán) HTTP 服務(wù)治理實(shí)踐:Oceanus
美團(tuán)基礎(chǔ)架構(gòu)部技術(shù)專家張志桐,負(fù)責(zé)美團(tuán)七層負(fù)載均衡網(wǎng)關(guān)Oceanus,分布式鏈路跟蹤系統(tǒng)Mtrace等。張志桐在活動(dòng)上介紹了美團(tuán)從 Tengine 到 OpenResty 的演進(jìn)之路,以及在服務(wù)治理層面做的服務(wù)動(dòng)態(tài)注冊(cè)、慢啟動(dòng)、泳道、地域路由、單元化等功能的迭代歷程。
△ 美團(tuán)基礎(chǔ)架構(gòu)部技術(shù)專家張志桐
Oceanus 是美團(tuán)基礎(chǔ)架構(gòu)部研發(fā)的統(tǒng)一HTTP服務(wù)治理框架,云服務(wù)器,基于 Nginx 和 ngx_lua 擴(kuò)展,主要提供服務(wù)注冊(cè)與發(fā)現(xiàn)、動(dòng)態(tài)負(fù)載均衡、可視化管理、定制化路由、安全反扒、session ID 復(fù)用、熔斷降級(jí)、一鍵截流和性能統(tǒng)計(jì)等功能。
張志桐介紹了Oceanus 系統(tǒng)架構(gòu),底層的引擎核心是基于 OpenResty,上面有包括 C++ 和 Lua 的單元;在每個(gè) OpenResty 節(jié)點(diǎn)上部署 Agent 進(jìn)程做邏輯解耦;另外站點(diǎn)的管理有一個(gè)統(tǒng)一的前端管理平臺(tái) Tethys,通過它來可視化地新增站點(diǎn)、location 匹配規(guī)則等;在OpenResty 體系之外,還有 MNS 和 Scanner 兩個(gè)模塊,MNS 是美團(tuán)內(nèi)部的命名服務(wù),Scanner 主要負(fù)責(zé)健康檢查。
又拍云基于 OpenResty 實(shí)現(xiàn)云存儲(chǔ)網(wǎng)關(guān)
又拍云平臺(tái)開發(fā)部總監(jiān)葉靖,負(fù)責(zé)又拍云彈性云處理平臺(tái)以及內(nèi)部私有云的設(shè)計(jì)和開發(fā)工作,在 ngx_lua 和 OpenResty 模塊開發(fā)方面有豐富經(jīng)驗(yàn)。現(xiàn)場(chǎng)介紹了基于 OpenResty 實(shí)現(xiàn)的云存儲(chǔ)網(wǎng)關(guān),設(shè)計(jì)索引、存儲(chǔ)、分塊、負(fù)載均衡、流量控制等功能的實(shí)現(xiàn)與使用方法。
△ 又拍云平臺(tái)開發(fā)部總監(jiān)葉靖
分布式存儲(chǔ)具有高可用、易擴(kuò)展、易維護(hù)的特點(diǎn),葉靖從存儲(chǔ)數(shù)據(jù)的拆分、路由、常用功能、擴(kuò)容等四個(gè)方面詳細(xì)介紹了 OpenResty 在又拍云存儲(chǔ)中的應(yīng)用。又拍云存儲(chǔ)系統(tǒng)是由 OpenResty 來完成數(shù)據(jù)拆分,并將 OpenResty 作為路由層,配置相關(guān)功能采用了 Slardar 的相關(guān)模塊。
特別地,又拍云作為深度應(yīng)用 OpenResty 的企業(yè),正在不斷為 OpenResty 社區(qū)輸出開源能力,目前已經(jīng)開源了以下三個(gè)項(xiàng)目:
[1] upyun/slardar
[2] upyun/lua-resty-checkups
[3] upyun/lua-resty-limit-rate
OpenResty × Open Talk 全國(guó)巡回沙龍上海站活動(dòng)上,三位具備豐富經(jīng)驗(yàn)的講師通過分享自身的經(jīng)驗(yàn),令現(xiàn)場(chǎng)和直播觀眾收獲匪淺。