<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          是時候上手滅霸版Nginx了

          共 2608字,需瀏覽 6分鐘

           ·

          2021-11-20 06:53

          如果你是個服務端工程師,且工作中涉及 Nginx、高性能、高并發(fā)、動態(tài)控制、性能測試、分析等,那么,不論你使用什么開發(fā)語言和平臺,OpenResty 都是不可多得的高性能開發(fā)利器。

          但我發(fā)現(xiàn),有不少人沒接觸過 OpenResty,作為一個兼具開發(fā)效率和性能的服務端開發(fā)平臺,OpenResty 并不像其他開發(fā)語言一樣從零開始搭建,而是基于成熟的開源組件—— Nginx 和 LuaJIT。

          其核心是基于 Nginx 的一個 C 模塊(lua-nginx-module),這個模塊將 LuaJIT 嵌入到 Nginx 服務器中,并對外提供一套完整的 Lua API,透明地支持非阻塞 I/O,提供了輕量級線程、定時器等高級抽象。

          圍繞這個模塊,OpenResty 構(gòu)建了一套完備的測試框架、調(diào)試技術(shù)和由 Lua 實現(xiàn)的周邊功能庫。

          你可以用 Lua 進行字符串和數(shù)值運算、查詢數(shù)據(jù)庫、發(fā)送 HTTP 請求、執(zhí)行定時任務、調(diào)用外部命令等,還可以用 FFI 的方式調(diào)用外部 C 函數(shù)。

          這基本上滿足了服務端開發(fā)所需要的全部功能,所以,OpenResty 的適用范圍早已超出了反向代理和負載均衡。

          這就意味著,掌握了 OpenResty,就能同時擁有腳本語言的開發(fā)效率和迭代速度,以及Nginx C 模塊的高并發(fā)和高性能優(yōu)勢。

          通過豐富的 lua-resty 庫,OpenResty 逐漸擺脫了 Nginx 的影子,形成了自己的生態(tài)體系,在 API 網(wǎng)關(guān)、軟 WAF 等領(lǐng)域被廣泛使用。

          據(jù)我了解,OpenResty 現(xiàn)在是已經(jīng)是全球排名第五的 Web 服務器了,我們常用的 12306 的余票查詢功能、京東的商品詳情頁,這些高流量的背后,都是 OpenResty 在默默地提供服務。

          秒殺+口令「OpenResty」
          售價 ¥129,立省 ¥40
          到手只要 ¥89

          說到這里,小咖為你推薦一個人——溫銘。

          他是 OpenResty 軟件基金會主席,《OpenResty 最佳實踐》的作者,也是前 360 開源技術(shù)委員會委員。

          他在互聯(lián)網(wǎng)安全公司有 10 多年的工作經(jīng)驗,之前一直從事高性能服務端的開發(fā)和架構(gòu),負責開發(fā)過云查殺、反釣魚和企業(yè)安全產(chǎn)品。

          有一次,哥們在為新系統(tǒng)做技術(shù)選型時,偶然了解到了 OpenResty,那會兒他還是個 Pythoner,不喜歡 Nginx C 模塊的艱澀,還想享受它的高性能。

          魚與熊掌都想兼得, 怎么辦呢?OpenResty 滿足了他的需求。

          但是,目前 OpenResty 學習資料非常少,官方只提供了 API 文檔,并沒有入門和進階的文檔,網(wǎng)上找的資料也不夠系統(tǒng)。

          可以說,大部分的 OpenResty 使用者都是摸著石頭過河,過程相當痛苦(他自己就是其中之一)。

          所以,他在極客時間開了個課專門講 OpenResty,目的很明確:幫你快速入門,建立 OpenResty 完整知識體系,進而真正掌握這款開發(fā)利器。

          像他自己說的那樣:寫出正確的 OpenResty 代碼和寫出高性能的優(yōu)質(zhì) OpenResty 代碼之間,相差十萬八千里。

          而跨越這個巨大鴻溝的零件,就散落在 OpenResty 開源項目的源碼、文檔、issue、PR、幻燈片、郵件列表中,需要你把它們串聯(lián)起來,形成一個完整的學習路徑和知識圖譜。

          多說無益,可以瞅瞅他總結(jié)的 OpenResty 學習路徑圖,內(nèi)容出自他的專欄《OpenResty 快速入門與實戰(zhàn)》

          △ 訂閱專欄即可獲取「高清知識圖譜」

          結(jié)合目錄,我大致梳理了一下,如果用一句話概括這個專欄,我覺得是:“從實戰(zhàn)中來,到實戰(zhàn)中去”

          專欄中的不少代碼,都取自開源 OpenResty 的測試案例和實際的開源項目,讓你在入門之初,就了解真實的使用場景。

          文章中還穿插了多個視頻,內(nèi)容取自真實開源項目的功能點和 PR。通過視頻,可以更加直觀地看到,剛學到的知識點是怎樣在實際中應用的。

          最后的實戰(zhàn)部分,看著也挺帶勁,哥們會帶你用 OpenResty 從零搭建一個微服務 API 網(wǎng)關(guān),如果你想獨立搭建一個更簡單、更高性能的 API 網(wǎng)關(guān),這部分內(nèi)容可別錯過。

          從實際的開源項目中學習,再到實際的開源項目中去實戰(zhàn),將實戰(zhàn)融入完整的知識體系,這邏輯沒毛病,要是學完沒有收獲,直接來找我。

          另外,我看哥們還挺走心,專門列了幾個學習 OpenResty 的重點,會在專欄里著重講解那種,有好幾個特別「戳」我,這回跟著好好補補課:

          • 同步非阻塞的編程模式
          • 不同階段的作用
          • LuaJIT 和 Lua 的不同之處
          • OpenResty API 和周邊庫
          • 協(xié)程和 cosocket
          • 單元測試框架和性能測試工具
          • 火焰圖和周邊工具鏈
          • 性能優(yōu)化

          關(guān)于學習這個課需要什么基礎(chǔ),直接引用溫銘原話,他比我總結(jié)得好:

          OpenResty 是在 Nginx 和 LuaJIT 的基礎(chǔ)上搭建的,所以 Nginx 和 LuaJIT 的基礎(chǔ)知識還是需要的。

          但你只要了解很少的 Nginx 知識,就可以學習 OpenResty 了。

          少到什么程度呢?涉及到的 Nginx 的知識,我只用一節(jié)課就介紹完了。所以,即使你從沒接觸過 Nginx 也沒關(guān)系。

          要知道,OpenResty 并不等同于 Nginx,OpenResty 這個項目存在的目的之一,就是讓你感知不到 Nginx 的存在。

          從編程語言的角度看,Lua 是一種很容易理解的語言,你只要能看懂它的代碼,并不需要獨立寫出復雜的 Lua 代碼,就可以完成專欄的學習了,我會用少數(shù)幾節(jié)課帶你入門 Lua,達到 OpenResty 的使用水準。

          哥們寫的有點長,我總結(jié)就一句:放心學,學得會,能用著。

          △掃我的海報試讀或訂閱
          秒殺+口令「OpenResty」
          售價 ¥129,立省 ¥40
          到手只要 ¥89

          說了半天,是時候上目錄了,想要干貨往下看:

               
          《沙丘》首映票價的零頭,就能上手 Web 服務,這買賣穩(wěn)賺不虧。

          ??掃碼無法購買的同學點擊「閱讀原文」??
          溫銘帶你一起,讓 OpenResty 飛一會兒。
          瀏覽 7
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  丁香狠狠色婷婷久久 | 免费av网站 | 日本va在线观看 日本va中文字幕 | 台湾精品一区二区三区四区 | 蜜臀AV午夜 |