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

雲原生應用開發實戰(基於.NET開發框架及Kubernetes容器編排技術)

  • 作者:編者:劉海峰//郝冠軍//張善友//杜素偉//梁桐銘等|責編:王斌//郝建偉
  • 出版社:機械工業
  • ISBN:9787111742265
  • 出版日期:2024/01/01
  • 裝幀:平裝
  • 頁數:307
人民幣:RMB 119 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是一本介紹.NET雲原生開發技術的實用教程,由多位微軟MVP聯合編寫,通過實際的項目代碼,從多個角度深入淺出地闡釋了雲原生開發的理論和在實際開發中的應用。全書共11章,主要內容包括:迎接雲原生的浪潮;配置.NET雲原生開發與運行環境;雲原生應用開發—電子商務應用eShopOnContainers;實現雲原生應用的擴展性;實現雲原生應用的通信;數據訪問模式;實現可恢復的彈性應用;實現雲原生應用的身份管理;實現雲原生應用的可觀察性;深入理解雲原生、容器、微服務和DevOps:基於Dapr開發雲原生應用。
    本書適合具有C#開發經驗的軟體工程師、軟體架構師,希望學習最新的.NET技術,完成雲原生應用開發轉型的開發人員閱讀。對於希望從頭開始學習.NET技術和雲原生開發的開發人員也是非常好的選擇。

作者介紹
編者:劉海峰//郝冠軍//張善友//杜素偉//梁桐銘等|責編:王斌//郝建偉

目錄
前言
第1章  迎接雲原生的浪潮
  1.1  撲面而來的雲原生
    1.1.1  單體應用面臨的挑戰
    1.1.2  從微服務到雲原生
    1.1.3  雲原生應用的特性
    1.1.4  雲原生計算基金會CNCF
  1.2  雲原生設計的十二原則
    1.2.1  Codebase(單一代碼)
    1.2.2  Dependencies(依賴管理)
    1.2.3  Configuration(配置)
    1.2.4  Backing services(支撐服務)
    1.2.5  Build, Release, Run(構建、發布、運行)
    1.2.6  Processes(無狀態服務進程)
    1.2.7  Port Binding(埠綁定)
    1.2.8  Concurrency(併發能力)
    1.2.9  Disposability(易回收)
    1.2.10  Dev/Prod Parity(環境對等)
    1.2.11  Logs(日誌流)
    1.2.12  Admin Processes(管理進程)
  1.3  雲原生四大核心要素
    1.3.1  容器化
    1.3.2  微服務技術
    1.3.3  DevOps
    1.3.4  持續交付
  1.4  使用.NET技術開發雲原生應用的優勢
    1.4.1  高性能
    1.4.2  跨平台
    1.4.3  完全容器化支持
    1.4.4  開源
  1.5  小結
第2章  配置.NET雲原生開發與運行環境
  2.1  系統要求
  2.2  安裝與配置Git環境
    2.2.1  安裝 Git
    2.2.2  配置Git
    2.2.3  下載eShopOnContainers源代碼
  2.3  安裝.NET
    2.3.1  .NET版本選擇
    2.3.2  安裝.NET
  2.4  安裝Visual Studio 2022或 isual Studio Code
    2.4.1  安裝Visual Studio
    2.4.2  安裝Visual Studio Code
  2.5  安裝Docker
    2.5.1  安裝WSL
    2.5.2  安裝Docker Desktop
    2.5.3  配置Docker Desktop
    2.5.4  配置國內Docker環境
  2.6  啟用 Kubernetes
  2.7  小結

第3章  雲原生應用開發—電子商務應用eShopOnContainers
  3.1  雲原生應用 eShopOnContainers功能概述
    3.1.1  功能需求
    3.1.2  eShopOnContainers開發架構
  3.2  運行eShopOnContainers應用
    3.2.1  了解docker-compose文件
    3.2.2  構建eShop
    3.2.3  運行eShopOnContainers應用
    3.2.4  注意事項
  3.3  訪問eShopOnContainers應用程序
    3.3.1  訪問MVC Web應用
    3.3.2  訪問SPA Web應用
    3.3.3  訪問Android、iOS和Windows上的移動應用
    3.3.4  訪問Swagger UI
    3.3.5  訪問日誌控制台
    3.3.6  應用程序與微服務列表
  3.4  eShopOnContainers代碼組織
    3.4.1  項目架構
    3.4.2  源代碼介紹
    3.4.3  領域驅動設計
    3.4.4  單元測試和集成測試
  3.5  小結
第4章  實現雲原生應用的擴展性
  4.1  容器化應用
    4.1.1  單體部署面臨的挑戰
    4.1.2  什麼是Docker
    4.1.3  Docker常用命令
    4.1.4  開發中用到的Docker知識
  4.2  鏡像倉庫
    4.2.1  Docker Hub
    4.2.2  創建自定義的容器鏡像倉庫
    4.2.3  創建私有鏡像倉庫
  4.3  Docker定義文件Dockerfile
    4.3.1  Dockerfile語法概要
    4.3.2  構建ASP.NET Core應用
    4.3.3  構建ASP.NET Core Docker應用
  4.4  擴展容器應用
    4.4.1  使用Docker compose管理雲原生應用
    4.4.2  使用Kubernetes管理雲原生應用
    4.4.3  使用環境變數
  4.5  容器與編排器實踐
    4.5.1  購物車服務
    4.5.2  構建Dockerfile
    4.5.3  構建docker-compose.yaml
    4.5.4  構建Kubernetes部署文件
  4.6  小結
第5章  實現雲原生應用的通信
  5.1  雲原生應用通信的複雜性
  5.2  服務註冊與服務發現
    5.2.1  微服務下的服務註冊和服務發現

    5.2.2  Docker Compose環境下的服務註冊與發現
    5.2.3  Kubernetes環境下的服務註冊與發現
  5.3  前端應用的通信模式
    5.3.1  實現網關的選擇
    5.3.2  實時通信
  5.4  服務與服務之間的通信
    5.4.1  查詢Query
    5.4.2  命令Command
    5.4.3  事件Event
    5.4.4  領域匯流排和集成匯流排
  5.5  新一代通信協議gRPC
    5.5.1  gRPC的優勢
    5.5.2  gRPC核心概念
    5.5.3  在.NET中應用gRPC
    5.5.4  gRPC的使用場景
    5.5.5  在eShopOnContainers中實現gRPC支持
  5.6  服務網格(Service Mesh)
  5.7  實戰演練:實現eShopOnContainers中的組件間通信
    5.7.1  實現基於Envoy的API網關
    5.7.2  實現BFF網關
    5.7.3  實現基於MediatR的領域匯流排
    5.7.4  基於RabbitMQ實現跨微服務的事件匯流排
    5.7.5  基於事件匯流排實現集成匯流排
  5.8  小結
第6章  數據訪問模式
  6.1  雲原生應用中的數據訪問模式
    6.1.1  微服務中對資料庫使用方式的變化
    6.1.2  跨微服務的查詢
    6.1.3  數據完整性和分散式事務
    6.1.4  大規模數據訪問
  6.2  關係型與非關係型資料庫
    6.2.1  CAP定理
    6.2.2  關係型資料庫與NoSQL資料庫
    6.2.3  NewSQL資料庫
  6.3  在雲原生應用中應用緩存
    6.3.1  應用緩存的原因
    6.3.2  雲原生應用的緩存架構
  6.4  實戰演練:實現eShopOnContainers中產品價格變更的最終一致性
    6.4.1  實現簡化事件溯源模式的集成事件日誌
    6.4.2  發布基於事件日誌表的分散式事務
    6.4.3  訂閱集成事件
  6.5  小結
第7章  實現可恢復的彈性應用
  7.1  應用程序的彈性模式
  7.2  設計支持彈性的通信方案
    7.2.1  客戶端方案
    7.2.2  伺服器端方案
    7.2.3  服務網格
  7.3  實戰演練:在eShopOnContainers中實現彈性應用
    7.3.1  基於Polly實現彈性通信

    7.3.2  實現基於Envoy的彈性通信
  7.4  小結
第8章  實現雲原生應用的身份管理
  8.1  雲原生應用的認證與授權
    8.1.1  基於票據(Ticket)的認證
    8.1.2  基於OAuth標準的授權
    8.1.3  基於OpenID Connect的授權
    8.1.4  認證過程的改進:PKCE
    8.1.5  零信任網路
  8.2  基於IdentityServer4實現OpenID Connect
    8.2.1  IdentityServer的基本概念
    8.2.2  創建認證伺服器
    8.2.3  IdentityServer對認證流的支持
  8.3  實戰演練:在eShopOnContainers中集成身份認證服務
    8.3.1  伺服器端配置
    8.3.2  客戶端配置
    8.3.3  保護購物車API
  8.4  小結
第9章  實現雲原生應用的可觀察性
  9.1  可觀察性的概念
    9.1.1  日誌Log
    9.1.2  度量指標Metric
    9.1.3  鏈路追蹤Tracing
  9.2  雲原生應用中的遙測管理
    9.2.1  監控
    9.2.2  警報
    9.2.3  集中式遙測管理
  9.3  使用Seq管理日誌
    9.3.1  Seq的特色
    9.3.2  配置Serilog輸出日誌到seq
    9.3.3  配置Seq服務
    9.3.4  使用Seq管理日誌
  9.4  使用ELK技術棧管理日誌
    9.4.1  ELK技術棧的優勢
    9.4.2  Logstash
    9.4.3  Elasticsearch
    9.4.4  使用Kibana可視化數據
    9.4.5  設置ELK環境
    9.4.6  啟用ELK日誌管理
  9.5  應用OpenTelemetry
    9.5.1  OpenTelemetry的.NET支持
    9.5.2  使用遙測庫
    9.5.3  應用遙測收集器Otel Collector
    9.5.4  使用遙測數據
    9.5.5  在eShopOnContainers中應用OpenTelemetry
  9.6  小結
第10章  深入理解雲原生、容器、微服務和DevOps
  10.1  基礎設施即代碼(IaC)
    10.1.1  IaC的含義
    10.1.2  IaC的實現原則

    10.1.3  IaC的落地方法
  10.2  雲原生和DevOps的多層含義
  10.3  DevOps實施落地的兩大法寶
    10.3.1  敏捷讓我們重新定義管理
    10.3.2  傳統開發VS敏捷開發
    10.3.3  軟體研發過程:管理屬性和工程屬性
    10.3.4  持續交付實施框架
    10.3.5  微服務是軟體研發解耦的終極形態
  10.4  DevOps實施落地的三步工作法
  10.5  版本管理系統
    10.5.1  版本管理系統的作用
    10.5.2  Git分散式版本管理系統的作用
    10.5.3  在微服務開發中使用拉取請求(Pull Request)的方式管理代碼
  10.6  微服務發布流水線完整示例:FPR-CICD-Flow工作流程
    10.6.1  流程步驟說明
    10.6.2  動態環境部署實現方式
  10.7  小結
第11章  基於Dapr開發雲原生應用
  11.1  Dapr概覽
    11.1.1  技術架構
    11.1.2  安裝Dapr
    11.1.3  Dapr工具集介紹
  11.2  Dapr提供的構建塊
    11.2.1  狀態管理
    11.2.2  服務調用
    11.2.3  發布與訂閱
    11.2.4  服務綁定
    11.2.5  Actor
    11.2.6  可觀測性
    11.2.7  密鑰管理
    11.2.8  配置管理
    11.2.9  分散式鎖
  11.3  基於Dapr的雲原生開發
    11.3.1  微服務方法論與設計原則
    11.3.2  Dapr在Kubernetes上的落地
  11.4  基於Dapr的eShopOnDapr介紹
    11.4.1  eShopOnDapr架構
    11.4.2  在Kubernetes上部署eShopOnDapr
    11.4.3  eShopOnDapr效果演示
  11.5  小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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