8 月 31 日,由又拍云、OpenResty 社區(qū)主辦的 OpenResty × Open Talk 全國巡回沙龍·成都站在言幾又·成都凱德店順利落幕,這是系列活動的第五站。OpenResty × Open Talk 全國巡回沙龍旨在促進 OpenResty 在技術(shù)圈的發(fā)展,增進 OpenResty 使用者的交流與學習。在成都站活動現(xiàn)場,五位嘉賓分享了自己專業(yè)的觀點和經(jīng)驗,讓到場的開發(fā)者受益匪淺。
成都站活動現(xiàn)場合影
OpenResty × Open Talk 全國巡回沙龍成都站邀請了 OpenResty 軟件基金會發(fā)起人溫銘、王院生、又拍云系統(tǒng)開發(fā)高級工程師黃勵博、原貝殼找房基礎(chǔ)架構(gòu)部工程師尹吉峰、奇安信工程師艾菲,分享了包括高性能 API 網(wǎng)關(guān)、云存儲網(wǎng)關(guān)、高性能 Web 應用等 OpenResty 相關(guān)技術(shù)應用,為近百位現(xiàn)場觀眾和數(shù)千線上觀眾提供了一場技術(shù)盛宴。
言幾又·成都凱德店
說起成都大家的第一反應肯定是天府之國、美食之都、火鍋二巨頭之一,總而言之吃就完事了!然而本次活動的一大亮點就是在千丈口水中硬生生開出一片書香墨意,這個獨具特色的活動場地——言幾又·成都凱德店,為技術(shù)分享增添了一絲藝術(shù)氣息,此處書成墻壁,紙建空間,字畫風情,講師們分享的內(nèi)容化為有血有肉的實體,讓每一個人到場者都被知識所包圍。
如何做 API 網(wǎng)關(guān)的選型、測試和持續(xù)集成
OpenResty 軟件基金會發(fā)起人溫銘做了開場分享,他是開源微服務 API 網(wǎng)關(guān) APISIX 作者,《OpenResty 從入門到實戰(zhàn)》專欄作者,他以開源微服務 API 網(wǎng)關(guān) APISIX 為例,詳細介紹了 API 網(wǎng)關(guān)的選型和持續(xù)集成實踐。
OpenResty 軟件基金會發(fā)起人溫銘
APISIX 是一個云原生、高性能、可擴展的微服務 API 網(wǎng)關(guān),基于 OpenResty 和 etcd 實現(xiàn),和傳統(tǒng) API 網(wǎng)關(guān)相比,APISIX 增加了包括支持多云和混合云、無狀態(tài)、隨意擴容和縮容等在內(nèi)的諸多功能,能夠更為妥帖的滿足企業(yè)個性需求的開發(fā)。
溫銘介紹了 API 網(wǎng)關(guān)的核心組件包括路由、插件、schema 和存儲等,他通過對著四個組件的合理選擇,使 APISIX 具有了很多獨有的功能;測試方面,APISIX 遵循著測試驅(qū)動開發(fā)的原則,通過單元測試、代碼風格測試和代碼覆蓋率的檢測,使 APISIX 達到了超高性能;持續(xù)集成方面,APISIX 強依賴 GitHub 和 travis CI,以及 coveralls.io。
溫銘總結(jié)到, APISIX 項目在設計與實現(xiàn)過程中,面臨著資源少的難題,但是通過對現(xiàn)有組件的合理使用,APISIX 的選型、測試和 CI 都找到了“取巧”和自動化的方式,大大提升了項目完成的效率和項目的性能,GitHub 和 SaaS 能提供的,絕對不要自己造輪子。
又拍云基于 OpenResty 實現(xiàn)的云存儲網(wǎng)關(guān)
又拍云系統(tǒng)開發(fā)高級工程師黃勵博,在又拍云主要負責私有容器平臺、云存儲、云處理相關(guān)的架構(gòu)設計和開發(fā)工作,熟悉 Python/Lua/Go 等語言,在 Docker 容器方面擁有豐富的實踐經(jīng)驗,在 ngx_lua 和 OpenResty 方面有著豐富的模塊開發(fā)和維護經(jīng)驗。他在現(xiàn)場介紹了又拍云基于 OpenResty 實現(xiàn)的云存儲網(wǎng)關(guān),設計索引、存儲、分塊、負載均衡、流量控制等功能的實現(xiàn)與使用方法。
又拍云系統(tǒng)開發(fā)高級工程師黃勵博
黃勵博從數(shù)據(jù)拆分、路由配置、存儲常用的增刪查改和擴容四個方面,詳細介紹了 OpenResty 在又拍云存儲中的實際應用。
黃勵博講到,又拍云存儲是分布式存儲,而分布式存儲的優(yōu)勢為高可用、易擴展和易維護。而又拍數(shù)據(jù)的拆分是由 OpenResty 來進行的三次拆分,拆分后又將 OpenResty 作為路由層并詳述了路由的配置規(guī)則。然后介紹了又拍云存儲系統(tǒng)中,以 OpenResty 的限制模塊為基礎(chǔ)開發(fā)的 token bucket 的方法,向大家完整的分享又拍云存儲體系。
特別地,又拍云作為深度應用 OpenResty 的企業(yè),正在不斷為 OpenResty 社區(qū)輸出開源能力,目前已經(jīng)開源了以下項目:
[1] upyun/slardar (https://github.com/upyun/slardar)
[2] upyun/lua-resty-checkups (https://github.com/upyun/lua-resty-checkups)
[3] upyun/lua-resty-limit-rate (https://github.com/upyun/lua-resty-limit-rate)
如何使用 OpenResty 搭建高性能 Web 應用
原貝殼找房基礎(chǔ)架構(gòu)部工程師尹吉峰,多語言愛好者,偏向異步和函數(shù)式編程,酷愛原型搭建,先后在貝殼使用 OpenResty 搭建了 WebBeacon、圖片處理、短連接服務等。他在現(xiàn)場介紹了如何使用 OpenResty 做外部框架寫服務,算是一種比較小眾的用法。
原貝殼找房基礎(chǔ)架構(gòu)部工程師尹吉峰
尹吉峰認為過早優(yōu)化是萬惡之源,一個好的服務絕對不是優(yōu)化出來的,架構(gòu)決定了一個服務的基準。有很多 Web 服務實際上是不適合做水平伸縮的,因此也要高性能。他介紹 Web 應用絕大多數(shù)都是 IO 密集型,通過異步編程、事件驅(qū)動的方式可以提高性能。
尹吉峰提到,OpenResty 是 Nginx 和 Lua 的有機完美結(jié)合,Nginx 是一流的反向代理服務器,在一線的互聯(lián)網(wǎng)公司已經(jīng)是一個標配,因此在引入 OpenResty 風險很低;而 Lua 是小巧靈活的編程語言,支持 Coroutine,LuaJIT 性能強大,支持 FFI。之后,他詳細介紹了過去使用 OpenResty 構(gòu)建高性能 Web 應用服務的實踐。
那些你可能不知道的 OpenResty 特性
奇安信服務端開發(fā)艾菲,網(wǎng)名河馬大俠,《 OpenResty 最佳實踐 》貢獻者,前 OpenResty 軟件基金會成員。2013 年加入奇虎 360,擅長使用 OpenResty 完成各種網(wǎng)關(guān)和緩存行為。他在現(xiàn)場介紹了 OpenResty 中具有重要意義的一些模塊、命令、API 和框架等。
奇安信工程師艾菲
艾菲首先介紹了 OpenResty 作為 Web 服務器,提供了豐富的 Lua API,包括 ngx.say、ngx.resp.get_header、body_filter_by_*、ngx.exit() 等,讓我們可以去操縱 HTTP 的 request和 response 等基本元素,從而靈活控制整個 HTTP 的請求和響應體。如果遇到業(yè)務代碼,可以用 Lua 的方式編輯,開發(fā)效率是無可比擬的。
艾菲介紹了定時器 ngx.timer.at 用法,可以實現(xiàn)延遲運行的任務邏輯,甚至于通過一些特殊的調(diào)用方法實現(xiàn)定時任務的功能,這個 API 還有一個“非凡”意義,可以實現(xiàn)跨作用域。他在分享最后介紹了一些 HTTPS 的性能問題以及避免的方式。
高性能 API 網(wǎng)關(guān)實踐
OpenResty 軟件基金會發(fā)起人王院生,《OpenResty 最佳實踐》作者,開源微服務 API 網(wǎng)關(guān) APISIX 作者,在 OpenResty x Open Talk 上海站的活動上,他詳細介紹了 APISIX 如何做到高性能及實現(xiàn)的技巧,本次分享,他介紹即將發(fā)布的APISIX 0.7 版本路由將會支持插件化,同時將會超 80% 的代碼覆蓋率。
OpenResty 軟件基金會發(fā)起人王院生
王院生在現(xiàn)場分享了一些通用的 OpenResty 編程技巧,他將 radixtree 和 r3 做了對比解釋了 APISIX 選擇 radixtree 的原因,匹配模式簡單、高效,支持遍歷、回調(diào)等;ngx.var 能使項目性能提速,最簡單的方式是用 iresty/lua-var-nginx-module 的倉庫,可以有 5% 的性能提升;當遇到 fail to json encode 的情況時,他的做法是強制對 cdata、userdata 等進?編碼,在有循環(huán)嵌套時依然可以打印。
除此之外,王院生還向在場的開發(fā)者推薦了他自己寫的靜態(tài)代碼檢查工具,能幫助解決很多代碼風格的問題。apisix/core 也是一個非常值得學習的基礎(chǔ)庫,幫助大家了解一些非常實用的庫的實現(xiàn)。
- 為什么年輕人不愛換手機了
- 柔宇科技未履行金額近億元被曝已6個月發(fā)不出工資
- 柔宇科技被曝已6個月發(fā)不出工資 公司回應欠薪有補償方案
- 第六座“綠動未來”環(huán)保公益圖書館落地貴州山區(qū)小學
- 窺見“新紀元”,2021元宇宙產(chǎn)業(yè)發(fā)展高峰論壇“廣州啟幕”
- 以人為本,景悅科技解讀智慧城市發(fā)展新理念
- 紐迪瑞科技/NDT賦能黑鯊4 Pro游戲手機打造全新一代屏幕壓感
- 清潔家電新老玩家市場定位清晰,攜手共進,核心技術(shù)決定未來
- 新思科技與芯耀輝在IP產(chǎn)品領(lǐng)域達成戰(zhàn)略合作伙伴關(guān)系
- 芯耀輝加速全球化部署,任命原Intel高管出任全球總裁
免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。