注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)Serverless架構設計指南

Serverless架構設計指南

Serverless架構設計指南

定 價:¥99.00

作 者: 張原 王昌鵬
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111780137 出版時間: 2025-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  Serverless作為一種近幾年流行的架構,其內(nèi)部的設計相對復雜。本書盡可能使用通俗易懂的語言來幫助讀者理解和掌握Serverless的開發(fā)與設計。本書以JavaScript為主要語言進行講解,以Node.js運行時為主要運行環(huán)境進行服務設計的講解。本書共10章,分別為:Serverless架構的概述、Serverless的總體設計、Serverless架構的腳手架設計、Serverless架構的模塊設計、Serverless架構的函數(shù)設計、Serverless 結構設計、Serverless 架構的配置設計、Serverless架構的協(xié)議設計、Serverless架構的實踐以及Serverless架構最終形態(tài)的演變。內(nèi)容主要涉及JavaScript語言的開發(fā)(包括前端和后端的代碼和功能的實現(xiàn))、數(shù)據(jù)庫的開發(fā)(如MongoDB、ETCD等)、容器層面的開發(fā)(如Docker、 K8s)。從虛擬機(VM)的實現(xiàn)開始,逐步構造出一個虛擬化框架,最終形成一個Serverless架構平臺。為了提升讀者的閱讀體驗,本書使用盡可能少的代碼示例。本書配套有難點實現(xiàn)的微視頻(掃碼即可觀看),以及相關案例源碼(獲取方式見封底)。本書適合相關領域的研究人員和工程技術人員閱讀,也可作為高等院校計算機、軟件工程及相關專業(yè)師生的參考資料。

作者簡介

  張原,滴滴前高級開發(fā)工程師,曾任職于同花順、百草味、個推等知名企業(yè)。長期耕耘于Node.js領域,從事基建相關工作,對Serverless領域有自己獨特的見解,曾作為領域負責人,支撐每日千萬級別的調(diào)用量?;钴S于知乎和Github等社區(qū),并在社區(qū)中有自己獨特的貢獻,一些具有創(chuàng)新性思維的文章受到社區(qū)成員的關注和認可。王昌鵬,畢業(yè)于東南大學,獲計算機碩士學位,曾任職于中國移動、阿里巴巴、網(wǎng)易等互聯(lián)網(wǎng)知名企業(yè),目前在滴滴擔任專家工程師。在嵌入式、客戶端、前端及node等領域具有豐富的開發(fā)經(jīng)驗,具有20多項授權專利技術。

圖書目錄

前言第1章 Serverless架構的概述/1.1什么是Serverless架構/1.1.1后端服務的演化/1.1.2小顆粒度服務的流行/1.1.3Serverless架構的難點/1.2Serverless架構的作用/1.2.1屏蔽運維需求/1.2.2降低編碼門檻/1.2.3搭建低成本流水線/1.3Serverless架構的應用場景/1.3.1初創(chuàng)企業(yè)/1.3.2敏捷開發(fā)團隊/1.3.3無需架構管理/1.4主流Serverless架構設計的問題/1.4.1非通用使用設計/1.4.2回調(diào)與返回設計/1.4.3中心化路由和分布式路由設計/1.4.4黑盒和顯式引用設計/1.4.5生態(tài)和過于依賴廠商/1.5Serverless架構的目標/1.5.1開源與生態(tài)/1.5.2完善的標準/1.5.3私有化部署能力/1.5.4去中心化服務/第2章 Serverless的總體設計/2.1項目的結構/2.1.1設計結構一覽/2.1.2虛擬機結構設計/2.1.3框架結構設計/2.1.4平臺結構設計/2.2虛擬機的結構拆分/2.2.1VM模塊/2.2.2上下文設計/2.2.3模塊系統(tǒng)設計/2.2.4變量代理設計/2.3框架的結構拆分/2.3.1命令行工具設計/2.3.2基礎庫設計/2.3.3中間件設計/2.3.4線程系統(tǒng)設計/2.4框架線程系統(tǒng)的結構拆分/2.4.1線程池設計/2.4.2回收機制設計/2.4.3動態(tài)運行時設計/2.5運行時模塊拆分/2.5.1運行時與虛擬機的關系/2.5.2環(huán)境變量注入與模塊邏輯設計/2.5.3服務載入虛擬機設計/2.6平臺的結構拆分/2.6.1去中心文件系統(tǒng)設計/2.6.2代碼服務端部署設計/2.6.3配置與注冊中心設計/2.7平臺功能結構設計/2.7.1App的注冊與配置/2.7.2分流和灰度配置/2.7.3App域名配置/第3章 Serverless架構的腳手架設計/3.1腳手架功能概述/3.1.1服務運行/3.1.2代碼編譯/3.1.3服務部署/3.2服務運行功能概述/3.2.1配置獲取設計/3.2.2開發(fā)模式設計/3.2.3可插拔擴展設計/3.3可插拔擴展設計與功能實現(xiàn)/3.3.1插件出口入口設計與實現(xiàn)/3.3.2依賴擴展設計與實現(xiàn)/3.3.3擴展鏈路設計與實現(xiàn)/3.4項目初始化功能設計/3.4.1初始化模板的構建/3.4.2模板拉取功能的實現(xiàn)/3.5產(chǎn)物構建設計/3.5.1打包的前置檢測/3.5.2文件的構建和編譯/3.5.3單應用和多應用打包的實現(xiàn)/3.6服務部署設計/3.6.1App的上傳與同步/3.6.2服務器的服務載入/3.6.3部署通知邏輯/3.7分布式代碼更新/3.7.1分布式代碼更新的目的/3.7.2單機和多機代碼更新的區(qū)別/3.7.3分布式代碼更新實現(xiàn)/第4章 Serverless架構的模塊設計/4.1設計模塊化系統(tǒng)的目的/4.1.1代碼的解耦合和復用/4.1.2互不影響的模塊/4.1.3規(guī)范和模塊的擴展/4.1.4依賴的權限控制/4.2上下文的注入實現(xiàn)/4.2.1上下文概述/4.2.2模塊和文件的上下文/4.2.3全局變量和方法上下文的注入/4.3上下文的代理/4.3.1上下文代理的原理/4.3.2上下文和App綁定原理/4.3.3上下文代理的具體實現(xiàn)/4.4重新設計模塊化系統(tǒng)的實現(xiàn)/4.4.1重寫require功能/4.4.2權限系統(tǒng)判斷的實現(xiàn)/4.4.3外部文件引用的剝離/4.5import實現(xiàn)原理/4.5.1import和require的關系/4.5.2import的轉(zhuǎn)化實現(xiàn)/4.5.3執(zhí)行import的實現(xiàn)/4.6代碼文件加載實現(xiàn)/4.6.1VM遞歸加載實現(xiàn)/4.6.2文件相互引用加載實現(xiàn)/4.6.3高級語法支持/第5章 Serverless架構的函數(shù)設計/5.1Serverless架構采用函數(shù)的原因/5.1.1什么是函數(shù)/5.1.2降低編寫門檻的設計/5.1.3接口職責的設計/5.1.4相對靈活的服務/5.2Serverless架構函數(shù)功能概述/5.2.1主流Serverless架構的函數(shù)式設計問題/5.2.2數(shù)據(jù)返回和異常處理設計概述/5.2.3分布式路由設計概述/5.2.4代碼黑盒設計/5.3函數(shù)的實例化實現(xiàn)/5.3.1函數(shù)調(diào)用過程實現(xiàn)/5.3.2線程實例化服務類實現(xiàn)/5.3.3線程監(jiān)聽調(diào)用事件實現(xiàn)/5.4函數(shù)參數(shù)注入實現(xiàn)/5.4.1線程的參數(shù)序列化/5.4.2線程中重新實例化參數(shù)對象/5.4.3參數(shù)原值通信/5.5函數(shù)數(shù)據(jù)返回和異常設計實現(xiàn)/5.5.1數(shù)據(jù)返回的實現(xiàn)/5.5.2二進制數(shù)據(jù)和文件流的返回實現(xiàn)/5.5.3異常在線程中的實例化/5.5.4異常中間件捕捉實現(xiàn)/5.6跨App函數(shù)調(diào)用設計與實現(xiàn)/5.6.1RPC函數(shù)調(diào)用鏈路概述/5.6.2RPC函數(shù)實現(xiàn)/5.7分布式路由設計實現(xiàn)/5.7.1路由裝飾器實現(xiàn)/5.7.2線程的路由通信/5.7.3動態(tài)路由掛載實現(xiàn)/第6章 Serverless結構設計/6.1Serverless架構結構概述/6.1.1項目結構設計概述/6.1.2App結構設計概述/6.1.3代碼結構設計概述/6.2項目結構設計/6.2.1配置文件的設計與實現(xiàn)/6.2.2項目的編譯構建設計/6.2.3項目依賴結構設計/6.3App結構設計/6.3.1App入口文件結構設計/6.3.2App隔離結構設計/6.3.3App運行與管理結構設計/6.4代碼結構設計/6.4.1框架引用設計/6.4.2依賴引用設計/6.4.3服務類和函數(shù)設計/6.4.4代碼透出設計/6.5編譯結構設計/6.5.1編譯目錄結構設計/6.5.2編譯配置解析/6.5.3增量編譯實現(xiàn)/第7章 Serverless架構的配置設計/7.1配置模塊分類概述/7.1.1框架配置/7.1.2App配置/7.1.3部署配置/7.1.4流量配置/7.2框架配置設計/7.2.1項目基本配置設計/7.2.2異步獲取配置設計/7.3App配置設計/7.3.1最大線程配置設計/7.3.2系統(tǒng)權限管控配置設計/7.3.3超時配置設計/7.3.4VM和資源配置設計/7.4部署配置設計/7.4.1部署版本配置設計/7.4.2部署數(shù)據(jù)地址配置設計/7.5請求流量配置設計/7.5.1域名配置實現(xiàn)/7.5.2分流配置實現(xiàn)/7.5.3路由配置實現(xiàn)/第8章 Serverless架構的協(xié)議設計/8.1Serverless架構的協(xié)議組成/8.1.1代碼協(xié)議/8.1.2請求協(xié)議/8.1.3應用隔離協(xié)議/8.1.4通信協(xié)議/8.1.5執(zhí)行協(xié)議/8.1.6部署協(xié)議/8.1.7函數(shù)配置協(xié)議/8.2代碼協(xié)議設計/8.2.1路由協(xié)議/8.2.2裝飾器協(xié)議/8.2.3文件和路徑協(xié)議/8.2.4方法暴露協(xié)議/8.3請求協(xié)議設計/8.3.1請求方式協(xié)議/8.3.2請求分發(fā)協(xié)議/8.4應用隔離協(xié)議設計/8.4.1隔離方式協(xié)議/8.4.2影響協(xié)議/8.5通信協(xié)議設計/8.5.1調(diào)用協(xié)議/8.5.2溝通協(xié)議/8.5.3喚起協(xié)議/8.6執(zhí)行協(xié)議設計/8.6.1執(zhí)行入口協(xié)議/8.6.2返回值協(xié)議/8.7部署協(xié)議設計/8.7.1構建協(xié)議/8.7.2請求部署協(xié)議/8.7.3版本升級協(xié)議/8.8函數(shù)配置協(xié)議設計/8.8.1App配置協(xié)議/8.8.2分流配置協(xié)議/8.8.3部署配置協(xié)議/第9章 Serverless架構的實踐/9.1部署方案/9.1.1部署依賴/9.1.2部署規(guī)模準備/9.2容器部署實現(xiàn)/9.2.1Dockerfile準備/9.2.2K8s接入/9.2.3彈性伸縮配置/9.3Serverless架構的限制實例/9.3.1Serverless架構構建App/9.3.2開發(fā)者的權限控制實例/9.3.3開發(fā)者代碼引用規(guī)范實例/9.4基于Serverless架構開發(fā)/9.4.1接入數(shù)據(jù)庫/9.4.2增刪改查的實例/9.4.3前端頁面的渲染實例/9.5用戶模塊的實現(xiàn)/9.5.1登錄和注冊功能實現(xiàn)/9.5.2Token的校驗和App交互/9.6聊天系統(tǒng)功能實現(xiàn)/9.6.1實時聊天實現(xiàn)/9.6.2消息通知實現(xiàn)/9.7App上線實踐/9.7.1應用發(fā)布實踐/9.7.2域名的綁定實踐/9.7.3分流和灰度發(fā)布實踐/第10章 Serverless架構最終形態(tài)的演變/10.1Serverless架構的困境/10.1.1伴隨著異常的服務/10.1.2開發(fā)和調(diào)試的相對困難/10.1.3異常無法自行處理/10.2過渡的Serverless架構方式/10.2.1高信任度的提供商/10.2.2標準化的服務設計/10.3真正的Serverless架構/10.3.1服務的非中心化/10.3.2服務的真正開源/10.3.3標準的語言設計/10.4當前互聯(lián)網(wǎng)的瓶頸/10.4.1算力、存儲和網(wǎng)絡性能的瓶頸/10.4.2過渡的中心化/10.5發(fā)展中的機遇/10.5.1非中心化應用的爆發(fā)/10.5.2瓶頸的移除/10.5.3信任危機出現(xiàn)/10.6形態(tài)的演變/10.6.1代碼即所有/10.6.2去中心化的到來/

本目錄推薦

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