雲端原生應用開發實戰-基於.NET開發架構及Kubernetes容器編排技術

51Aspx

  • 出版商: 機械工業
  • 出版日期: 2024-01-01
  • 售價: $714
  • 貴賓價: 9.5$678
  • 語言: 簡體中文
  • 頁數: 320
  • 裝訂: 平裝
  • ISBN: 7111742265
  • ISBN-13: 9787111742265
  • 相關分類: .NETKubernetes
  • 立即出貨

買這商品的人也買了...

商品描述

全書共11章,迎接雲端原生應用浪潮、配置dotnet雲端原生開發與營運環境、電子商務應用eShop、實現雲端原生應用程式的擴充性、
雲端原生應用通訊、雲端原生資料存取、實現高可用的微服務、實現雲端原生應用程式的安全性、
實現雲端原生應用的可觀察性、深入理解雲端原生、容器、微服務和DevOps、基於Dapr開發雲端原生應用程式。

目錄大綱

前言
第1章 迎接雲原生的浪潮1
1.1 撲面而來的雲原生1
1.1.1 單體應用面臨的挑戰2
1.1.2 從微服務到雲端原生3
1.1.3 雲端原生應用的特性4
1.1.4 雲端原生運算基金會 CNCF5
1.2 雲端原生設計的十二原則6
1.2.1 Codebase(單一代碼)7
1.2.2 Dependencies(依賴管理)7
1.2.3 Configuration(配置)7
1.2.4 Backing services(支撐服務)7
1.2.5 Build, Release, Run(建置、發佈、運行)8
1.2.6 Processes(無狀態服務進程)8
1.2.7 Port Binding(連接埠綁定)8
1.2.8 Concurrency(並發能力)8
1.2.9 Disposability(易回收)9
1.2.10 Dev/Prod Parity(環境對等)9
1.2.11 Logs(日誌流)9
1.2.12 Admin Processes(管理進程)9
1.3 雲端原生四大核心要素10
1.3.1 容器化10
1.3.2 微服務技術11
1.3.3 DevOps12
1.3.4 持續交付13
1.4 使用 .NET 技術開發雲端原生應用程式的優勢14
1.4.1 高性能15
1.4.2 跨平台15
1.4.3 完全容器化支援15
1.4.4 開源15
1.5 小結16
第2章 配置 .NET雲端原生開發與運行環境17
2.1 系統需求17
2.2 安裝與設定Git環境18
2.2.1 安裝 Git18
2.2.2 配置Git18
2.2.3 下載eShopOnContainers原始碼20
2.3 安裝 .NET20
2.3.1 .NET 版本選擇21
2.3.2 安裝 .NET22
2.4 安裝 Visual Studio 2022 或 Visual Studio Code23
2.4.1 安裝Visual Studio 202223
2.4.2 安裝 Visual Studio Code25
2.5 安裝Docker27
2.5.1 安裝 WSL 227
2.5.2 安裝 Docker Desktop31
2.5.3 配置 Docker Desktop32
2.5.4 配置國內 Docker 環境35
2.6 啟用 Kubernetes36
2.7 小結36
第3章 雲原生應用開發—電子商務應用eShopOnContainers37
3.1 雲端原生應用程式 eShopOnContainers功能概述37
3.1.1 功能需求38
3.1.2 eShopOnContainers開發架構38
3.2 運行eShopOnContainers應用40
3.2.1 了解docker-compose檔案40
3.2.2 建置eShop44
3.2.3 運行eShopOnContainers 應用45
3.2.4 注意事項46
3.3 訪問eShopOnContainers應用程式47
3.3.1 訪問MVC Web應用47
3.3.2 訪問SPA Web應用48
3.3.3 存取Android、iOS和Windows上的行動應用程式49
3.3.4 訪問 Swagger UI49
3.3.5 訪問日誌控制台50
3.3.6 應用程式與微服務清單53
3.4 eShopOnContainers代碼組織53
3.4.1 專案架構53
3.4.2 原始碼介紹54
3.4.3 領域驅動設計56
3.4.4 單元測試和整合測試60
3.5 小結62
第4章 實現雲端原生應用的擴充性63
4.1 容器化應用63
4.1.1 單體部署面臨的挑戰63
4.1.2 什麼是Docker65
4.1.3 Docker常用指令68
4.1.4 開發中用到的Docker知識73
4.2 鏡像倉庫74
4.2.1 Docker Hub74
4.2.2 建立自訂的容器鏡像倉庫75
4.2.3 建立私有鏡像倉庫77
4.3 Docker定義檔Dockerfile80
4.3.1 Dockerfile 語法摘要80
4.3.2 建置ASP.NET Core應用81
4.3.3 建置 ASP.NET Core Docker 應用程式83
4.4 擴展容器應用84
4.4.1 使用Docker compose管理雲端原生應用程式84
4.4.2 使用Kubernetes管理雲端原生應用程式86
4.4.3 使用環境變數89
4.5 容器與編排器實務94
4.5.1 購物車服務94
4.5.2 建置 Dockerfile95
4.5.3 建置docker-compose.yaml96
4.5.4 建置Kubernetes部署檔案97
4.6 小結101
第5章 實現雲端原生應用的通訊102
5.1 雲端原生應用通訊的複雜性102
5.2 服務註冊與服務發現103
5.2.1 微服務下的服務註冊與服務發現104
5.2.2 Docker Compose環境下的服務註冊與發現105
5.2.3 Kubernetes 環境下的服務註冊與發現106
5.3 前端應用的通訊模式107
5.3.1 實現網關的選擇109
5.3.2 即時通訊110
5.4 服務與服務之間的通訊111
5.4.1 查詢 Query112
5.4.2 命令Command115
5.4.3 事件Event116
5.4.4 領域匯流排和整合匯流排118
5.5 新一代通訊協定gRPC118
5.5.1 gRPC的優勢118
5.5.2 gRPC核心概念119
5.5.3 在 .NET中應用gRPC119
5.5.4 gRPC的使用情境120
5.5.5 在eShopOnContainers中實現gRPC支援120
5.6 服務網格(Service Mesh)122
5.7 實戰演練:實現 eShopOnContainers中的組件間通訊123
5.7.1 實作基於 Envoy 的 API 閘道123
5.7.2 實現BFF網關125
5.7.3 實現基於MediatR的領域匯流排128
5.7.4 基於RabbitMQ實現跨微服務的事件匯流排133
5.7.5 基於事件匯流排實現整合匯流排135
5.8 小結140
第6章 資料存取模式141
6.1 雲端原生應用程式中的資料存取模式141
6.1.1 微服務中對資料庫使用方式的變化142
6.1.2 跨微服務的查詢143
6.1.3 資料完整性和分散式事務145
6.1.4 大規模資料存取147
6.2 關係型與非關係型資料庫150
6.2.1 CAP定理151
6.2.2 關係型資料庫與NoSQL資料庫152
6.2.3 NewSQL資料庫153
6.3 在雲端原生應用程式中應用快取154
6.3.1 應用快取的原因154
6.3.2 雲端原生應用程式的快取架構154
6.4 實戰演練:實現eShopOnContainers中產品價格變更的最終一致性155
6.4.1 實作簡化事件溯源模式的整合事件日誌156
6.4.2 發布基於事件日