注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡人工智能前端Serverless:面向全棧的無服務器架構實戰(zhàn)

前端Serverless:面向全棧的無服務器架構實戰(zhàn)

前端Serverless:面向全棧的無服務器架構實戰(zhàn)

定 價:¥89.00

作 者: 楊凱 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121409813 出版時間: 2021-04-01 包裝: 平裝
開本: 16開 頁數(shù): 248 字數(shù):  

內容簡介

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

作者簡介

  楊凱(亞頓),具有10年以上前后端全棧研發(fā)經(jīng)驗,曾為阿里巴巴天貓精靈前端負責人,參與了天貓精靈從0到1的建設過程。專注于前端架構及用戶體驗,對 BFF、微前端、Serverless 等技術如何在業(yè)務中規(guī)?;瘧靡蕴岣哐邪l(fā)和協(xié)作效率、改善用戶體驗,具有豐富的實踐經(jīng)驗。

圖書目錄

第一部分 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 的優(yōu)勢與劣勢 . 20
2.2 服務端的應用場景 . 22
2.2.1 多媒體處理 . 23
2.2.2 數(shù)據(jù)庫變更捕獲 .. 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 函數(shù)由事件驅動 .. 50
5.1.2 無狀態(tài)的函數(shù) 51
5.1.3 函數(shù)應當足夠簡單 . 51
5.2 FaaS 的優(yōu)點 .. 52
5.2.1 更高的研發(fā)效率 .. 52
5.2.2 更低的部署成本 .. 53
5.2.3 更低的運維成本 .. 54
5.2.4 更低的學習成本 .. 54
5.2.5 更低的服務器費用 . 55
5.2.6 更靈活的部署方案 . 56
5.2.7 更高的系統(tǒng)安全性 . 56
5.3 FaaS 的缺點 .. 57
5.3.1 存在平臺學習成本 . 57
5.3.2 較高的調試成本 .. 58
5.3.3 潛在的性能問題 .. 58
5.3.4 供應商鎖定問題 .. 59
本章小結 .. 60
第 6 章 第一個函數(shù) . 61
6.1 從控制臺創(chuàng)建 61
6.1.1 開通產(chǎn)品 .. 61
6.1.2 創(chuàng)建一個函數(shù) 62
6.1.3 調用函數(shù) .. 64
6.2 基于命令行工具 .. 64
6.2.1 安裝命令行工具 .. 64
6.2.2 身份認證配置 65
6.2.3 初始化 FaaS 項目 . 66
6.2.4 本地調試 .. 67
6.2.5 發(fā)布項目 .. 69
6.3 Serverless Framework. 70
6.3.1 初始化命令行工具 . 70
6.3.2 阿里云授權 . 71
6.3.3 開通配套服務 71
6.3.4 創(chuàng)建項目 .. 72
6.3.5 發(fā)布部署 .. 72
6.3.6 遠程調用 .. 73
本章小結 .. 73
第 7 章 函數(shù)的生命周期 74
7.1 函數(shù)的定義 . 74
7.1.1 函數(shù)名 74
7.1.2 參數(shù) . 75
7.2 函數(shù)的調試 . 76
7.2.1 本地調用 .. 76
7.2.2 在線調用 .. 77
7.3 函數(shù)的發(fā)布 . 77
7.3.1 配置 . 77
7.3.2 編譯 . 78
7.3.3 部署 . 78
7.4 函數(shù)的更新 . 78
7.4.1 測試與發(fā)布 . 78
7.4.2 灰度與 A/B 測試 . 80
本章小結 .. 81
第 8 章 理解函數(shù)運行時 82
8.1 函數(shù)的觸發(fā) . 82
8.1.1 客戶端觸發(fā)器 83
8.1.2 實踐:通過 Web API 調用函數(shù) 83
8.1.3 消息觸發(fā)器 . 88
8.1.4 實踐:通過消息觸發(fā)函數(shù) . 89
8.1.5 存儲觸發(fā)器 . 92
8.1.6 實踐:生成上傳圖片的縮略圖 .. 93
8.1.7 其他觸發(fā)器 . 98
8.2 函數(shù)的執(zhí)行 . 98
8.2.1 入口方法 .. 98
8.2.2 運行時 99
8.2.3 日志輸出 100
8.2.4 實踐:查詢函數(shù)調用日志 .. 100
本章小結 101
第 9 章 自建簡易 FaaS .. 102
9.1 基礎能力 102
9.1.1 基于進程隔離運行函數(shù) 103
9.1.2 標準函數(shù)的執(zhí)行能力 . 105
9.1.3 更安全的執(zhí)行環(huán)境 .. 106
9.1.4 增加 HTTP 服務 . 111
9.2 進階挑戰(zhàn) 114
9.2.1 提升性能:通過進程池管理子進程的生命周期 .. 115
9.2.2 增強安全性:限制函數(shù)的執(zhí)行時間 . 119
9.2.3 確保穩(wěn)定性:對函數(shù)資源進行限制 . 122
9.2.4 提高效率:內置前端常用服務 128
本章小結 130
第三部分 BaaS 技術
第 10 章 BaaS 的由來 . 132
10.1 傳統(tǒng)的 IT 時代:原始部落的刀耕火種 . 132
10.2 云計算時代:現(xiàn)代城市的集中供應 133
10.3 新一代基礎設施:CaaS . 134
10.4 PaaS 的演進:BaaS . 136
10.5 Google Firebase 137
10.6 BaaS 的優(yōu)勢和價值 .. 142
本章小結 144
第 11 章 初始化 BaaS 應用 .. 145
11.1 注冊小程序的賬號. 145
11.2 配置云服務 146
11.3 初始化代碼 148
11.4 添加 BaaS SDK .. 150
本章小結 151
第 12 章 數(shù)據(jù)的持久化 152
12.1 數(shù)據(jù)庫設計原則 . 154
12.1.1 BSON 與數(shù)據(jù)類型 .. 154
12.1.2 三大范式與 NoSQL 數(shù)據(jù)庫 .. 155
12.1.3 引用方式:規(guī)范數(shù)據(jù)模型 156
12.1.4 內嵌方式:高效數(shù)據(jù)模型 158
12.2 使用數(shù)據(jù)存儲服務 159
12.2.1 通過控制臺管理集合 .. 159
12.2.2 通過客戶端查詢數(shù)據(jù) .. 162
12.2.3 在云函數(shù)中調用 . 162
12.2.4 數(shù)據(jù)權限管理 .. 165
12.2.5 實踐:數(shù)據(jù)的 CURD . 165
本章小結 167
第 13 章 文件的存儲與分發(fā) .. 168
13.1 內容分發(fā)網(wǎng)絡(CDN) . 168
13.1.1 性能優(yōu)化的利器 . 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 實踐:實現(xiàn)圖片的上傳和展示 . 174
本章小結 180
第 14 章 用戶身份識別與授權 . 181
14.1 認證的演進 181
14.1.1 統(tǒng)一身份認證:OpenID 182
14.1.2 第三方授權登錄:OAuth . 185
14.1.3 進一步完善:OIDC . 189
14.2 身份認證即服務:Auth0 .. 191
14.2.1 注冊并創(chuàng)建租戶 . 191
14.2.2 控制中心概覽 .. 192
14.3 實踐:實現(xiàn)基于 Auth0 的身份認證 . 195
14.3.1 創(chuàng)建并配置應用 . 195
14.3.2 創(chuàng)建登錄頁面 .. 196
14.3.3 啟動 Web 服務 .. 198
14.3.4 實現(xiàn)登錄與注銷 . 198
14.3.5 用戶體驗改進 .. 202
14.4 實踐:實現(xiàn) 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 的優(yōu)勢/劣勢與應用場景 .. 218
本章小結 223

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號