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

前端Serverless:面向全棧的無服務(wù)器架構(gòu)實(shí)戰(zhàn)

前端Serverless:面向全棧的無服務(wù)器架構(gòu)實(shí)戰(zhàn)

定 價(jià):¥89.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第一部分 Serverless 綜述
第 1 章 什么是 Serverless . 2
1.1 Serverless 的價(jià)值 .. 3
1.2 Serverless 是一種理念 5
1.3 Serverless 一詞的誕生 8
1.4 CNCF Serverless 白皮書 . 10
1.5 Serverless 與前端架構(gòu) .. 12
1.6 從前端到全棧 18
本章小結(jié) .. 19
第 2 章 何時(shí)應(yīng)用 Serverless . 20
2.1 Serverless 的優(yōu)勢與劣勢 . 20
2.2 服務(wù)端的應(yīng)用場景 . 22
2.2.1 多媒體處理 . 23
2.2.2 數(shù)據(jù)庫變更捕獲 .. 24
2.2.3 處理 IoT 請求 . 25
2.2.4 聊天機(jī)器人 . 26
2.2.5 計(jì)劃任務(wù) .. 27
2.2.6 通用后端服務(wù) 27
2.3 前端的應(yīng)用場景 .. 28
2.3.1 Web 應(yīng)用 . 29
2.3.2 SSR 應(yīng)用 . 29
2.3.3 移動(dòng)客戶端應(yīng)用 .. 31
2.3.4 小程序 31
本章小結(jié) .. 31
第 3 章 Serverless 與服務(wù)端技術(shù) . 32
3.1 應(yīng)用分層架構(gòu) 32
3.2 微服務(wù)架構(gòu) . 34
3.3 云計(jì)算 37
3.4 容器化 39
3.5 NoOps . 40
本章小結(jié) .. 42
第 4 章 Serverless 與前端技術(shù) . 43
4.1 Backend For Frontend 43
4.2 Node.js 44
4.3 TypeScript . 45
4.4 GraphQL 46
4.5 NoBackend .. 47
本章小結(jié) .. 47
第二部分 FaaS 技術(shù)
第 5 章 理解 FaaS 50
5.1 FaaS 的特性 .. 50
5.1.1 函數(shù)由事件驅(qū)動(dòng) .. 50
5.1.2 無狀態(tài)的函數(shù) 51
5.1.3 函數(shù)應(yīng)當(dāng)足夠簡單 . 51
5.2 FaaS 的優(yōu)點(diǎn) .. 52
5.2.1 更高的研發(fā)效率 .. 52
5.2.2 更低的部署成本 .. 53
5.2.3 更低的運(yùn)維成本 .. 54
5.2.4 更低的學(xué)習(xí)成本 .. 54
5.2.5 更低的服務(wù)器費(fèi)用 . 55
5.2.6 更靈活的部署方案 . 56
5.2.7 更高的系統(tǒng)安全性 . 56
5.3 FaaS 的缺點(diǎn) .. 57
5.3.1 存在平臺(tái)學(xué)習(xí)成本 . 57
5.3.2 較高的調(diào)試成本 .. 58
5.3.3 潛在的性能問題 .. 58
5.3.4 供應(yīng)商鎖定問題 .. 59
本章小結(jié) .. 60
第 6 章 第一個(gè)函數(shù) . 61
6.1 從控制臺(tái)創(chuàng)建 61
6.1.1 開通產(chǎn)品 .. 61
6.1.2 創(chuàng)建一個(gè)函數(shù) 62
6.1.3 調(diào)用函數(shù) .. 64
6.2 基于命令行工具 .. 64
6.2.1 安裝命令行工具 .. 64
6.2.2 身份認(rèn)證配置 65
6.2.3 初始化 FaaS 項(xiàng)目 . 66
6.2.4 本地調(diào)試 .. 67
6.2.5 發(fā)布項(xiàng)目 .. 69
6.3 Serverless Framework. 70
6.3.1 初始化命令行工具 . 70
6.3.2 阿里云授權(quán) . 71
6.3.3 開通配套服務(wù) 71
6.3.4 創(chuàng)建項(xiàng)目 .. 72
6.3.5 發(fā)布部署 .. 72
6.3.6 遠(yuǎn)程調(diào)用 .. 73
本章小結(jié) .. 73
第 7 章 函數(shù)的生命周期 74
7.1 函數(shù)的定義 . 74
7.1.1 函數(shù)名 74
7.1.2 參數(shù) . 75
7.2 函數(shù)的調(diào)試 . 76
7.2.1 本地調(diào)用 .. 76
7.2.2 在線調(diào)用 .. 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
本章小結(jié) .. 81
第 8 章 理解函數(shù)運(yùn)行時(shí) 82
8.1 函數(shù)的觸發(fā) . 82
8.1.1 客戶端觸發(fā)器 83
8.1.2 實(shí)踐:通過 Web API 調(diào)用函數(shù) 83
8.1.3 消息觸發(fā)器 . 88
8.1.4 實(shí)踐:通過消息觸發(fā)函數(shù) . 89
8.1.5 存儲(chǔ)觸發(fā)器 . 92
8.1.6 實(shí)踐:生成上傳圖片的縮略圖 .. 93
8.1.7 其他觸發(fā)器 . 98
8.2 函數(shù)的執(zhí)行 . 98
8.2.1 入口方法 .. 98
8.2.2 運(yùn)行時(shí) 99
8.2.3 日志輸出 100
8.2.4 實(shí)踐:查詢函數(shù)調(diào)用日志 .. 100
本章小結(jié) 101
第 9 章 自建簡易 FaaS .. 102
9.1 基礎(chǔ)能力 102
9.1.1 基于進(jìn)程隔離運(yùn)行函數(shù) 103
9.1.2 標(biāo)準(zhǔn)函數(shù)的執(zhí)行能力 . 105
9.1.3 更安全的執(zhí)行環(huán)境 .. 106
9.1.4 增加 HTTP 服務(wù) . 111
9.2 進(jìn)階挑戰(zhàn) 114
9.2.1 提升性能:通過進(jìn)程池管理子進(jìn)程的生命周期 .. 115
9.2.2 增強(qiáng)安全性:限制函數(shù)的執(zhí)行時(shí)間 . 119
9.2.3 確保穩(wěn)定性:對函數(shù)資源進(jìn)行限制 . 122
9.2.4 提高效率:內(nèi)置前端常用服務(wù) 128
本章小結(jié) 130
第三部分 BaaS 技術(shù)
第 10 章 BaaS 的由來 . 132
10.1 傳統(tǒng)的 IT 時(shí)代:原始部落的刀耕火種 . 132
10.2 云計(jì)算時(shí)代:現(xiàn)代城市的集中供應(yīng) 133
10.3 新一代基礎(chǔ)設(shè)施:CaaS . 134
10.4 PaaS 的演進(jìn):BaaS . 136
10.5 Google Firebase 137
10.6 BaaS 的優(yōu)勢和價(jià)值 .. 142
本章小結(jié) 144
第 11 章 初始化 BaaS 應(yīng)用 .. 145
11.1 注冊小程序的賬號. 145
11.2 配置云服務(wù) 146
11.3 初始化代碼 148
11.4 添加 BaaS SDK .. 150
本章小結(jié) 151
第 12 章 數(shù)據(jù)的持久化 152
12.1 數(shù)據(jù)庫設(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 內(nèi)嵌方式:高效數(shù)據(jù)模型 158
12.2 使用數(shù)據(jù)存儲(chǔ)服務(wù) 159
12.2.1 通過控制臺(tái)管理集合 .. 159
12.2.2 通過客戶端查詢數(shù)據(jù) .. 162
12.2.3 在云函數(shù)中調(diào)用 . 162
12.2.4 數(shù)據(jù)權(quán)限管理 .. 165
12.2.5 實(shí)踐:數(shù)據(jù)的 CURD . 165
本章小結(jié) 167
第 13 章 文件的存儲(chǔ)與分發(fā) .. 168
13.1 內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN) . 168
13.1.1 性能優(yōu)化的利器 . 168
13.1.2 CDN 加速的基本原理 169
13.1.3 文件存儲(chǔ)與 CDN .. 170
13.2 使用文件存儲(chǔ)服務(wù) 172
13.2.1 通過控制臺(tái)管理文件 .. 172
13.2.2 文件的權(quán)限管理 . 173
13.2.3 使用 SDK 上傳 . 174
13.2.4 實(shí)踐:實(shí)現(xiàn)圖片的上傳和展示 . 174
本章小結(jié) 180
第 14 章 用戶身份識(shí)別與授權(quán) . 181
14.1 認(rèn)證的演進(jìn) 181
14.1.1 統(tǒng)一身份認(rèn)證:OpenID 182
14.1.2 第三方授權(quán)登錄:OAuth . 185
14.1.3 進(jìn)一步完善:OIDC . 189
14.2 身份認(rèn)證即服務(wù):Auth0 .. 191
14.2.1 注冊并創(chuàng)建租戶 . 191
14.2.2 控制中心概覽 .. 192
14.3 實(shí)踐:實(shí)現(xiàn)基于 Auth0 的身份認(rèn)證 . 195
14.3.1 創(chuàng)建并配置應(yīng)用 . 195
14.3.2 創(chuàng)建登錄頁面 .. 196
14.3.3 啟動(dòng) Web 服務(wù) .. 198
14.3.4 實(shí)現(xiàn)登錄與注銷 . 198
14.3.5 用戶體驗(yàn)改進(jìn) .. 202
14.4 實(shí)踐:實(shí)現(xiàn) GitHub 賬號授權(quán) .. 206
14.4.1 開通 GitHub OAuth . 206
14.4.2 配置第三方登錄 . 208
14.4.3 測試與認(rèn)證 209
14.5 擴(kuò)展:詳解 JWT 209
14.5.1 令牌的類型 210
14.5.2 構(gòu)造一個(gè)令牌 .. 211
14.5.3 深入理解 JWT 原理 .. 213
14.5.4 JWT 的優(yōu)勢/劣勢與應(yīng)用場景 .. 218
本章小結(jié) 223

本目錄推薦

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