node中間件實踐-資料記錄

  1. node-middleware

  2. nodejs中間層實踐(express)

    • 有一步步的詳細代碼
  3. 為什么互聯(lián)網(wǎng)公司開始用node.js做web服務的中間件删顶?有什么好處嗎闰靴? - 天豬的回答 - 知乎

    • 乍一看衙吩,似乎這一層一直都存在蚌本,只不過是由后端同學維護而已加矛。
    • 我們知道煌妈,前端貼近用戶側儡羔,需求的變化太快了,后端同學來維護會很累璧诵。
    • 在 BFF 理念中汰蜘,最重要的一點是:服務自治,誰使用誰開發(fā)之宿,即它應該由前端同學去維護
  4. Serverless For Frontend 前世今生

    • 服務端接口族操,究竟是面向 UI 還是通用服務?
    • 一句話闡述:讓純前端開發(fā)者比被,只需寫幾個 Function 即可使用到后端相關的能力色难。
  5. (node去請求數(shù)據(jù)再拼接再輸出,會不會慢等缀?node的請求是服務器內(nèi)部的枷莉,會很快?)

  6. 愛奇藝 PC Web Node.js 中間層實踐

    • (有代碼片段尺迂,比較詳細豐富)
    • 由nginx做接口轉發(fā)笤妙、負載,varnish做數(shù)據(jù)緩存層噪裕,node是業(yè)務處理層危喉,在4核服務器上啟動4個node進程(跟cpu核數(shù)對應),通過nginx的ip_hash做負載均衡州疾,將請求均分給各個node進程辜限,充分利用cpu的性能;node進程在收到請求后會通過內(nèi)網(wǎng)調(diào)用發(fā)送http請求獲取后端接口數(shù)據(jù)严蓖;varnish是一款高性能薄嫡、開源的反向代理服務器和緩存服務器氧急,我們在nginx跟node之間加了一層varnish緩存系統(tǒng),通過配置在varnish緩存整條接口請求毫深,減少相同請求的透傳提高中間層服務性能吩坝。
9gse77o4gk.jpg
  • 上圖可學習的;對象結構的寫法哑蔫、object().keys()是啥钉寝、throw new ApiError、async是否就是return的promise
  • (去看看優(yōu)秀代碼闸迷,不用糾結全部看懂嵌纲,就是去看看類似的需求的寫法,如其他項目http是如何封裝的腥沽,async的錯誤處理)
  • (中間層還能來做錯誤搜集和數(shù)據(jù)監(jiān)控)
  1. 中間層接口由使用接口的前端工程師開發(fā)逮走,對展現(xiàn)和接口的功能更加熟悉,避免了以前的工作模式中接口方跟各方的需求對接今阳、溝通师溅、聯(lián)調(diào)時間,這樣使得項目的推進更加順利盾舌,項目迭代會更快墓臭;

  2. 【原創(chuàng)】NodeJS中間件機制學習

  • koa2框架的中間件機制實現(xiàn)得非常簡潔和優(yōu)雅,這里學習一下框架中組合多個中間件的核心代碼妖谴。
clipboard.png
// async函數(shù)自動返回Promise對象
const middleware2 = async (req, res, next) => {
  console.log('middleware2 start')
  await new Promise(resolve => {
    setTimeout(() => resolve(), 1000)
  })
  await next()
  console.log('middleware2 end')
} 

(延時的寫法)

  1. nodeJs搭建中間層的一次實踐

    • 有github倉庫代碼
    • 使用 koa 搭建 node 中間層服務器

使用 koa-bodyparser 中間件解析請求參數(shù)

使用 koa-router 中間件配置路由

自定義 restful api 中間件

使用 axios 來轉發(fā)封裝請求

完善路由起便、控制器

  1. 如何選擇正確的Node框架:Express,Koa還是Hapi窖维?
  2. 貌似koa和中間件相關的插件多一些榆综,且async的寫法更清晰,就用這個試試吧
  3. Koa的基本使用
  • 這個有代碼铸史,可以參考著寫寫
  1. Koa 系列 — 如何編寫屬于自己的 Koa 中間件
  • 下面代碼很清晰的看出了洋蔥模型
const Koa = require('Koa');
const app = new Koa();

// 最外層的中間件
app.use(async (ctx, next) => {
    await console.log(`第 1 個執(zhí)行`);
    await next();
    await console.log(`第 8 個執(zhí)行`);
});

// 第二層中間件
app.use(async (ctx, next) => {
    await console.log(`第 2 個執(zhí)行`);
    await console.log(`第 3 個執(zhí)行`);
    await next();
    await console.log(`第 6 個執(zhí)行`);
    await console.log(`第 7 個執(zhí)行`);
});

// 最里層的中間件
app.use(async (ctx, next) => {
    await console.log(`第 4 個執(zhí)行`);
    ctx.body = "Hello world.";
    await console.log(`第 5 個執(zhí)行`);
});

app.listen(3000, () => {
    console.log(`Server port is 3000.`);
}) 
  1. APIJSON 后端接口和文檔自動化鼻疮,前端(客戶端) 定制返回JSON的數(shù)據(jù)和結構!
  • 7.3k star
  • 對前后端接口調(diào)試的痛點分析很在理琳轿,就是不知道用起來怎么樣
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末判沟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子崭篡,更是在濱河造成了極大的恐慌挪哄,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琉闪,死亡現(xiàn)場離奇詭異迹炼,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門斯入,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砂碉,“玉大人,你說我怎么就攤上這事刻两≡霾洌” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵磅摹,是天一觀的道長滋迈。 經(jīng)常有香客問我,道長户誓,這世上最難降的妖魔是什么饼灿? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮厅克,結果婚禮上,老公的妹妹穿的比我還像新娘橙依。我一直安慰自己证舟,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布窗骑。 她就那樣靜靜地躺著女责,像睡著了一般。 火紅的嫁衣襯著肌膚如雪创译。 梳的紋絲不亂的頭發(fā)上抵知,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音软族,去河邊找鬼刷喜。 笑死,一個胖子當著我的面吹牛立砸,可吹牛的內(nèi)容都是我干的掖疮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼颗祝,長吁一口氣:“原來是場噩夢啊……” “哼浊闪!你這毒婦竟也來了?” 一聲冷哼從身側響起螺戳,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤搁宾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后倔幼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盖腿,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年损同,在試婚紗的時候發(fā)現(xiàn)自己被綠了奸忽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堕伪。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖栗菜,靈堂內(nèi)的尸體忽然破棺而出芬萍,到底是詐尸還是另有隱情,我是刑警寧澤论熙,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布缕题,位于F島的核電站,受9級特大地震影響而咆,放射性物質(zhì)發(fā)生泄漏霍比。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一暴备、第九天 我趴在偏房一處隱蔽的房頂上張望悠瞬。 院中可真熱鬧,春花似錦涯捻、人聲如沸浅妆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凌外。三九已至,卻和暖如春涛浙,著一層夾襖步出監(jiān)牢的瞬間康辑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工轿亮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疮薇,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓我注,卻偏偏與公主長得像惦辛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子仓手,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353