新到貨2本75折
前端Serverless:面向全棧的無服務器架構實戰

前端Serverless:面向全棧的無服務器架構實戰

  • 定價:534
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書以雲原生(Cloud Native)技術為背景,講述了 Serverless 的基本原理與實戰應用。書中首先探討 Serverless 與當前雲計算技術和前端技術的關係,隨後分別從 Serverless 的兩大能力(FaaS 和 BaaS)展開,探討了它們的歷史由來和底層原理,並且結合實際應用場景,有針對性地提供了操作指南。
 
本書從手動構建一套基於進程的 FaaS 架構開始,之後深入剖析雲計算服務的內核,闡述其背後的原理和思想,從而讓讀者理解下一代軟體架構的本質。
 
本書主要從前端研發人員的視角介紹 Serverless 的原理及應用。相信無論是希望更多瞭解服務端技術的前端研發人員,還是已經涉足後端但希望更多瞭解雲原生技術的全棧工程師,或是希望通過 Serverless 提升團隊研發效率的架構師,都會從閱讀本書中獲益良多。

 

作者介紹

楊凱(亞頓),具有10年以上前後端全棧研發經驗,曾為天貓精靈前端負責人,參與了天貓精靈從0到1的建設過程。專注於前端架構及用戶體驗,對 BFF、微前端、Serverless 等技術如何在業務中規模化應用以提高研發和協作效率、改善用戶體驗,具有豐富的實踐經驗。

 

目錄

第一部分 Serverless 綜述
第 1 章 什麼是 Serverless . 2
1.1 Serverless 的價值 .. 3
1.2 Serverless 是一種理念  5
1.3 Serverless 一詞的誕生  8
1.4 CNCF Serverless 白皮書 . 10
1.5 Serverless 與前端架構 .. 12
1.6 從前端到全棧  18
本章小結 .. 19
第 2 章 何時應用 Serverless . 20
2.1 Serverless 的優勢與劣勢 . 20
2.2 服務端的應用場景 . 22
2.2.1 多媒體處理 . 23
2.2.2 資料庫變更捕獲 .. 24
2.2.3 處理 IoT 請求 . 25
2.2.4 聊天機器人 . 26
2.2.5 計畫任務 .. 27
2.2.6 通用後端服務  27
2.3 前端的應用場景 .. 28
2.3.1 Web 應用 . 29
2.3.2 SSR 應用 . 29
2.3.3 移動用戶端應用 .. 31
2.3.4 小程式  31
本章小結 .. 31
第 3 章 Serverless 與服務端技術 . 32
3.1 應用分層架構  32
3.2 微服務架構 . 34
3.3 雲計算  37
3.4 容器化  39
3.5 NoOps . 40
本章小結 .. 42
第 4 章 Serverless 與前端技術 . 43
4.1 Backend For Frontend  43
4.2 Node.js  44
4.3 TypeScript . 45
4.4 GraphQL  46
4.5 NoBackend .. 47
本章小結 .. 47

第二部分 FaaS 技術
第 5 章 理解 FaaS  50
5.1 FaaS 的特性 .. 50
5.1.1 函數由事件驅動 .. 50
5.1.2 無狀態的函數  51
5.1.3 函數應當足夠簡單 . 51
5.2 FaaS 的優點 .. 52
5.2.1 更高的研發效率 .. 52
5.2.2 更低的部署成本 .. 53
5.2.3 更低的運維成本 .. 54
5.2.4 更低的學習成本 .. 54
5.2.5 更低的伺服器費用 . 55
5.2.6 更靈活的部署方案 . 56
5.2.7 更高的系統安全性 . 56
5.3 FaaS 的缺點 .. 57
5.3.1 存在平臺學習成本 . 57
5.3.2 較高的調試成本 .. 58
5.3.3 潛在的性能問題 .. 58
5.3.4 供應商鎖定問題 .. 59
本章小結 .. 60
第 6 章 第一個函數 . 61
6.1 從控制台創建  61
6.1.1 開通產品 .. 61
6.1.2 創建一個函數  62
6.1.3 調用函數 .. 64
6.2 基於命令列工具 .. 64
6.2.1 安裝命令列工具 .. 64
6.2.2 身份認證配置  65
6.2.3 初始化 FaaS 項目 . 66
6.2.4 本地調試 .. 67
6.2.5 發佈項目 .. 69
6.3 Serverless Framework. 70
6.3.1 初始化命令列工具 . 70
6.3.2 阿裡雲授權 . 71
6.3.3 開通配套服務  71
6.3.4 創建項目 .. 72
6.3.5 發佈部署 .. 72
6.3.6 遠程調用 .. 73
本章小結 .. 73
第 7 章 函數的生命週期  74
7.1 函數的定義 . 74
7.1.1 函數名  74
7.1.2 參數 . 75
7.2 函數的調試 . 76
7.2.1 本地調用 .. 76
7.2.2 線上調用 .. 77
7.3 函數的發佈 . 77
7.3.1 配置 . 77
7.3.2 編譯 . 78
7.3.3 部署 . 78
7.4 函數的更新 . 78
7.4.1 測試與發佈 . 78
7.4.2 灰度與 A/B 測試 . 80
本章小結 .. 81
第 8 章 理解函數運行時  82
8.1 函數的觸發 . 82
8.1.1 用戶端觸發器  83
8.1.2 實踐:通過 Web API 調用函數  83
8.1.3 消息觸發器 . 88
8.1.4 實踐:通過消息觸發函數 . 89
8.1.5 存儲觸發器 . 92
8.1.6 實踐:生成上傳圖片的縮略圖 .. 93
8.1.7 其他觸發器 . 98
8.2 函數的執行 . 98
8.2.1 入口方法 .. 98
8.2.2 運行時  99
8.2.3 日誌輸出  100
8.2.4 實踐:查詢函式呼叫日誌 .. 100
本章小結  101
第 9 章 自建簡易 FaaS .. 102
9.1 基礎能力  102
9.1.1 基於進程隔離運行函數  103
9.1.2 標準函數的執行能力 . 105
9.1.3 更安全的執行環境 .. 106
9.1.4 增加 HTTP 服務 . 111
9.2 進階挑戰  114
9.2.1 提升性能:通過進程池管理子進程的生命週期 .. 115
9.2.2 增強安全性:限制函數的執行時間 . 119
9.2.3 確保穩定性:對函數資源進行限制 . 122
9.2.4 提高效率:內置前端常用服務  128
本章小結  130

第三部分 BaaS 技術
第 10 章 BaaS 的由來 . 132
10.1 傳統的 IT 時代:原始部落的刀耕火種 . 132
10.2 雲計算時代:現代城市的集中供應  133
10.3 新一代基礎設施:CaaS . 134
10.4 PaaS 的演進:BaaS . 136
10.5 Google Firebase  137
10.6 BaaS 的優勢和價值 .. 142
本章小結  144
第 11 章 初始化 BaaS 應用 .. 145
11.1 註冊小程式的帳號. 145
11.2 配置雲服務  146
11.3 初始化代碼  148
11.4 添加 BaaS SDK .. 150
本章小結  151
第 12 章 資料的持久化  152
12.1 資料庫設計原則 . 154
12.1.1 BSON 與資料類型 .. 154
12.1.2 三大範式與 NoSQL 資料庫 .. 155
12.1.3 引用方式:規範資料模型  156
12.1.4 內嵌方式:高效資料模型  158
12.2 使用資料存儲服務  159
12.2.1 通過控制台管理集合 .. 159
12.2.2 通過用戶端查詢資料 .. 162
12.2.3 在雲函數中調用 . 162
12.2.4 資料許可權管理 .. 165
12.2.5 實踐:數據的 CURD . 165
本章小結  167
第 13 章 檔的存儲與分發 .. 168
13.1 內容分發網路(CDN) . 168
13.1.1 性能優化的利器 . 168
13.1.2 CDN 加速的基本原理  169
13.1.3 檔存儲與 CDN .. 170
13.2 使用檔存儲服務  172
13.2.1 通過控制台管理文件 .. 172
13.2.2 文件的許可權管理 . 173
13.2.3 使用 SDK 上傳 . 174
13.2.4 實踐:實現圖片的上傳和展示 . 174
本章小結  180
第 14 章 用戶身份識別與授權 . 181
14.1 認證的演進  181
14.1.1 統一身份認證:OpenID  182
14.1.2 協力廠商授權登錄:OAuth . 185
14.1.3 進一步完善:OIDC . 189
14.2 身份認證即服務:Auth0 .. 191
14.2.1 註冊並創建租戶 . 191
14.2.2 控制中心概覽 .. 192
14.3 實踐:實現基於 Auth0 的身份認證 . 195
14.3.1 創建並配置應用 . 195
14.3.2 創建登錄頁面 .. 196
14.3.3 啟動 Web 服務 .. 198
14.3.4 實現登錄與註銷 . 198
14.3.5 用戶體驗改進 .. 202
14.4 實踐:實現 GitHub 帳號授權 .. 206
14.4.1 開通 GitHub OAuth . 206
14.4.2 配置協力廠商登錄 . 208
14.4.3 測試與認證  209
14.5 擴展:詳解 JWT  209
14.5.1 權杖的類型  210
14.5.2 構造一個權杖 .. 211
14.5.3 深入理解 JWT 原理 .. 213
14.5.4 JWT 的優勢/劣勢與應用場景 .. 218
本章小結  223
 

詳細資料

  • ISBN:9787121409813
  • 規格:平裝 / 266頁 / 16k / 19 x 26 x 1.33 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬