幫助中心 | 我的帳號 | 關於我們

Serverless架構設計指南

  • 作者:張原//王昌鵬|責編:李曉波//章承林
  • 出版社:機械工業
  • ISBN:9787111780137
  • 出版日期:2025/05/01
  • 裝幀:平裝
  • 頁數:257
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    Serverless作為一種近幾年流行的架構,其內部的設計相對複雜。本書盡可能使用通俗易懂的語言來幫助讀者理解和掌握Serverless的開發與設計。
    本書以JavaScript為主要語言進行講解,以Node.js運行時為主要運行環境進行服務設計的講解。
    本書適合相關領域的研究人員和工程技術人員閱讀,也可作為高等院校電腦、軟體工程及相關專業師生的參考資料。

作者介紹
張原//王昌鵬|責編:李曉波//章承林

目錄
前言
第1章  Serverless架構的概述
  1.1  什麼是Serverless架構
    1.1.1  後端服務的演化
    1.1.2  小顆粒度服務的流行
    1.1.3  Serverless架構的難點
  1.2  Serverless架構的作用
    1.2.1  屏蔽運維需求
    1.2.2  降低編碼門檻
    1.2.3  搭建低成本流水線
  1.3  Serverless架構的應用場景
    1.3.1  初創企業
    1.3.2  敏捷開發團隊
    1.3.3  無需架構管理
  1.4  主流Serverless架構設計的問題
    1.4.1  非通用使用設計
    1.4.2  回調與返回設計
    1.4.3  中心化路由和分散式路由設計
    1.4.4  黑盒和顯式引用設計
    1.4.5  生態和過於依賴廠商
  1.5  Serverless架構的目標
    1.5.1  開源與生態
    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.1  VM模塊
    2.2.2  上下文設計
    2.2.3  模塊系統設計
    2.2.4  變數代理設計
  2.3  框架的結構拆分
    2.3.1  命令行工具設計
    2.3.2  基礎庫設計
    2.3.3  中間件設計
    2.3.4  線程系統設計
  2.4  框架線程系統的結構拆分
    2.4.1  線程池設計
    2.4.2  回收機制設計
    2.4.3  動態運行時設計
  2.5  運行時模塊拆分
    2.5.1  運行時與虛擬機的關係
    2.5.2  環境變數注入與模塊邏輯設計
    2.5.3  服務載入虛擬機設計
  2.6  平台的結構拆分

    2.6.1  去中心文件系統設計
    2.6.2  代碼服務端部署設計
    2.6.3  配置與註冊中心設計
  2.7  平台功能結構設計
    2.7.1  App的註冊與配置
    2.7.2  分流和灰度配置
    2.7.3  App域名配置
第3章  Serverless架構的腳手架設計
  3.1  腳手架功能概述
    3.1.1  服務運行
    3.1.2  代碼編譯
    3.1.3  服務部署
  3.2  服務運行功能概述
    3.2.1  配置獲取設計
    3.2.2  開發模式設計
    3.2.3  可插拔擴展設計
  3.3  可插拔擴展設計與功能實現
    3.3.1  插件出口入口設計與實現
    3.3.2  依賴擴展設計與實現
    3.3.3  擴展鏈路設計與實現
  3.4  項目初始化功能設計
    3.4.1  初始化模板的構建
    3.4.2  模板拉取功能的實現
  3.5  產物構建設計
    3.5.1  打包的前置檢測
    3.5.2  文件的構建和編譯
    3.5.3  單應用和多應用打包的實現
  3.6  服務部署設計
    3.6.1  App的上傳與同步
    3.6.2  伺服器的服務載入
    3.6.3  部署通知邏輯
  3.7  分散式代碼更新
    3.7.1  分散式代碼更新的目的
    3.7.2  單機和多機代碼更新的區別
    3.7.3  分散式代碼更新實現
第4章  Serverless架構的模塊設計
  4.1  設計模塊化系統的目的
    4.1.1  代碼的解耦合和復用
    4.1.2  互不影響的模塊
    4.1.3  規範和模塊的擴展
    4.1.4  依賴的許可權控制
  4.2  上下文的注入實現
    4.2.1  上下文概述
    4.2.2  模塊和文件的上下文
    4.2.3  全局變數和方法上下文的注入
  4.3  上下文的代理
    4.3.1  上下文代理的原理
    4.3.2  上下文和App綁定原理
    4.3.3  上下文代理的具體實現
  4.4  重新設計模塊化系統的實現

    4.4.1  重寫require功能
    4.4.2  許可權系統判斷的實現
    4.4.3  外部文件引用的剝離
  4.5  import實現原理
    4.5.1  import和require的關係
    4.5.2  import的轉化實現
    4.5.3  執行import的實現
  4.6  代碼文件載入實現
    4.6.1  VM遞歸載入實現
    4.6.2  文件相互引用載入實現
    4.6.3  高級語法支持
第5章  Serverless架構的函數設計
  5.1  Serverless架構採用函數的原因
    5.1.1  什麼是函數
    5.1.2  降低編寫門檻的設計
    5.1.3  介面職責的設計
    5.1.4  相對靈活的服務
  5.2  Serverless架構函數功能概述
    5.2.1  主流Serverless架構的函數式設計問題
    5.2.2  數據返回和異常處理設計概述
    5.2.3  分散式路由設計概述
    5.2.4  代碼黑盒設計
  5.3  函數的實例化實現
    5.3.1  函數調用過程實現
    5.3.2  線程實例化服務類實現
    5.3.3  線程監聽調用事件實現
  5.4  函數參數注入實現
    5.4.1  線程的參數序列化
    5.4.2  線程中重新實例化參數對象
    5.4.3  參數原值通信
  5.5  函數數據返回和異常設計實現
    5.5.1  數據返回的實現
    5.5.2  二進位數據和文件流的返回實現
    5.5.3  異常在線程中的實例化
    5.5.4  異常中間件捕捉實現
  5.6  跨App函數調用設計與實現
    5.6.1  RPC函數調用鏈路概述
    5.6.2  RPC函數實現
  5.7  分散式路由設計實現
    5.7.1  路由裝飾器實現
    5.7.2  線程的路由通信
    5.7.3  動態路由掛載實現
第6章  Serverless結構設計
  6.1  Serverless架構結構概述
    6.1.1  項目結構設計概述
    6.1.2  App結構設計概述
    6.1.3  代碼結構設計概述
  6.2  項目結構設計
    6.2.1  配置文件的設計與實現
    6.2.2  項目的編譯構建設計

    6.2.3  項目依賴結構設計
  6.3  App結構設計
    6.3.1  App入口文件結構設計
    6.3.2  App隔離結構設計
    6.3.3  App運行與管理結構設計
  6.4  代碼結構設計
    6.4.1  框架引用設計
    6.4.2  依賴引用設計
    6.4.3  服務類和函數設計
    6.4.4  代碼透出設計
  6.5  編譯結構設計
    6.5.1  編譯目錄結構設計
    6.5.2  編譯配置解析
    6.5.3  增量編譯實現
第7章  Serverless架構的配置設計
  7.1  配置模塊分類概述
    7.1.1  框架配置
    7.1.2  App配置
    7.1.3  部署配置
    7.1.4  流量配置
  7.2  框架配置設計
    7.2.1  項目基本配置設計
    7.2.2  非同步獲取配置設計
  7.3  App配置設計
    7.3.1  最大線程配置設計
    7.3.2  系統許可權管控配置設計
    7.3.3  超時配置設計
    7.3.4  VM和資源配置設計
  7.4  部署配置設計
    7.4.1  部署版本配置設計
    7.4.2  部署數據地址配置設計
  7.5  請求流量配置設計
    7.5.1  域名配置實現
    7.5.2  分流配置實現
    7.5.3  路由配置實現
第8章  Serverless架構的協議設計
  8.1  Serverless架構的協議組成
    8.1.1  代碼協議
    8.1.2  請求協議
    8.1.3  應用隔離協議
    8.1.4  通信協議
    8.1.5  執行協議
    8.1.6  部署協議
    8.1.7  函數配置協議
  8.2  代碼協議設計
    8.2.1  路由協議
    8.2.2  裝飾器協議
    8.2.3  文件和路徑協議
    8.2.4  方法暴露協議
  8.3  請求協議設計

    8.3.1  請求方式協議
    8.3.2  請求分發協議
  8.4  應用隔離協議設計
    8.4.1  隔離方式協議
    8.4.2  影響協議
  8.5  通信協議設計
    8.5.1  調用協議
    8.5.2  溝通協議
    8.5.3  喚起協議
  8.6  執行協議設計
    8.6.1  執行入口協議
    8.6.2  返回值協議
  8.7  部署協議設計
    8.7.1  構建協議
    8.7.2  請求部署協議
    8.7.3  版本升級協議
  8.8  函數配置協議設計
    8.8.1  App配置協議
    8.8.2  分流配置協議
    8.8.3  部署配置協議
第9章  Serverless架構的實踐
  9.1  部署方案
    9.1.1  部署依賴
    9.1.2  部署規模準備
  9.2  容器部署實現
    9.2.1  Dockerfile準備
    9.2.2  K8s接入
    9.2.3  彈性伸縮配置
  9.3  Serverless架構的限制實例
    9.3.1  Serverless架構構建App
    9.3.2  開發者的許可權控制實例
    9.3.3  開發者代碼引用規範實例
  9.4  基於Serverless架構開發
    9.4.1  接入資料庫
    9.4.2  增刪改查的實例
    9.4.3  前端頁面的渲染實例
  9.5  用戶模塊的實現
    9.5.1  登錄和註冊功能實現
    9.5.2  Token的校驗和App交互
  9.6  聊天系統功能實現
    9.6.1  實時聊天實現
    9.6.2  消息通知實現
  9.7  App上線實踐
    9.7.1  應用發布實踐
    9.7.2  域名的綁定實踐
    9.7.3  分流和灰度發布實踐
第10章  Serverless架構最終形態的演變
  10.1  Serverless架構的困境
    10.1.1  伴隨著異常的服務
    10.1.2  開發和調試的相對困難

    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  當前互聯網的瓶頸
    10.4.1  算力、存儲和網路性能的瓶頸
    10.4.2  過渡的中心化
  10.5  發展中的機遇
    10.5.1  非中心化應用的爆發
    10.5.2  瓶頸的移除
    10.5.3  信任危機出現
  10.6  形態的演變
    10.6.1  代碼即所有
    10.6.2  去中心化的到來
附錄

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032