-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
云原生SPRING實戰 SPRING BOOT與KUBERNETES實踐 版權信息
- ISBN:9787115624406
- 條形碼:9787115624406 ; 978-7-115-62440-6
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
云原生SPRING實戰 SPRING BOOT與KUBERNETES實踐 本書特色
以項目為導向,使用Spring實現云原生模式,處理安全性、韌性和可擴展性等問題;
提供豐富的實戰案例,構建和測試命令式與反應式應用,在Kubernetes上實現配置和可觀測性;
采用持續交付和GitOps,從代碼到生產,一步步構建云原生應用,讓學習成果即刻轉化為實際價值。
云原生SPRING實戰 SPRING BOOT與KUBERNETES實踐 內容簡介
本書提供了一個以項目為導向的云原生Spring實踐指南,將幫助你總攬日益復雜的云計算環境,并學習如何將模式和技術結合在一起,建立一個真正的云計算原生系統并將其投入生產。本書分為四個部分,共計16章。**部分內容為此次從代碼到生產的云原生之旅奠定了基礎,幫助你更好地理解本書其他部分所涉及的主題。第二部分介紹了使用Spring Boot和Kubernetes構建生產就緒的云原生應用的主要實踐和模式。第三部分涵蓋了云中分布式系統的基本屬性和模式,包括韌性、安全性、可擴展性和API網關,以及反應式編程和事件驅動架構。第四部分使你的云原生應用為生產做好準備,解決可觀測性、配置管理、Secret管理和部署策略等問題,并涵蓋了Serverless和原生鏡像。
云原生SPRING實戰 SPRING BOOT與KUBERNETES實踐 目錄
第 一部分 元原生基礎
第 1章 云原生簡介
1.1什么是云原生?
1.1.1云原生的3P
1.2 云和云計算模型
1.2.1 基礎設施即服務
1.2.2 容器即服務
1.2.3 平臺即服務
1.2.4 函數即服務
1.2.5 軟件即服務
1.3 云原生應用的屬性
1.3.1 可擴展性
1.3.2 松耦合
1.3.3 韌性
1.3.4 可觀測性
1.3.5 可管理性
1.4 支撐云原生的文化與實踐
1.4.1 自動化
1.4.2 持續交付
1.4.3 DevOps
1.5 云是*佳方案嗎?
1.5.1 速度
1.5.2 韌性
1.5.3 擴展
1.5.4 節省成本
1.6 云原生的拓撲結構
1.6.1 容器
1.6.2 編排
1.6.3 Serverless
1.7 云原生應用的架構
1.7.1 從多層架構到微服務和其他架構
1.7.2 基于服務架構的云原生應用
小結
第 2章 云原生模式與技術
2.1 云原生開發原則:12- Factor及其擴展
2.1.1 一份基準代碼,一個應用
2.1.2 API優先
2.1.3 依賴管理
2.1.4 設計,構建,發布和運行
2.1.5 配置、憑證和代碼
2.1.6 日志
2.1.7 易處理
2.1.8 支撐服務
2.1.9 環境對等
2.1.10 管理進程
2.1.11 端口綁定
2.1.12 無狀態進程
2.1.13 并發
2.1.14 遙測
2.1.15 認證與授權
2.2 使用Spring構建云原生應用
2.2.1 Spring全景圖概覽
2.2.2 構建Spring Boot應用
2.3 使用Docker容器化應用
2.3.1 Docker簡介:鏡像與容器
2.3.2 以容器形式運行Spring應用
2.4 使用Kubernetes管理容器
2.4.1 Kubernetes簡介:Deployment、Pod與Service
2.4.2 在Kubernetes中運行Spring應用
2.5 云原生樣例:Polar Bookshop
2.5.1 理解系統需求
2.5.2 探索項目中所使用的模式和技術
小結
第二部分 云原生開發
第3章 云原生開發入門
3.1 啟動云原生項目
3.1.1 一份基準代碼,一個應用
3.1.2 使用Gradle和Maven進行依賴管理
3.2 使用嵌入式的服務器
3.2.1 可執行的JAR文件與嵌入式服務器
3.2.2 理解每個請求一個線程的模型
3.2.3 配置嵌入式服務器
3.3 使用Spring MVC構建RESTful應用
3.3.1 先有REST API,后有業務邏輯
3.3.2 使用Spring MVC實現REST API
3.3.3 數據驗證和錯誤處理
3.3.4 為滿足未來需求而不斷演進的API
3.4 使用Spring測試RESTful應用
3.4.1 使用JUnit 5進行單元測試
3.4.2 使用@SpringBootTest進行集成測試
3.4.3 使用@WebMvcTest測試REST控制器
3.4.4 使用@JsonTest測試JSON序列化
3.5 部署流水線:構建與測試
3.5.1 理解部署流水線的提交階段
3.5.2 使用GitHub Actions實現提交階段
小結
第4章 外部化配置管理
4.1 Spring中的配置:屬性與Profile
4.1.1 屬性:用作配置的鍵/值對
4.1.2 Profile:特性標記和配置組
4.2 外部化配置:一次構建,多個配置
4.2.1 通過命令行參數配置應用
4.2.2 通過JVM系統屬性配置應用
4.2.3 通過環境變量配置應用
4.3 使用Spring Cloud Config Server實現中心化的配置管理
4.3.1 使用Git存儲配置數據
4.3.2 搭建配置服務器
4.3.3 確保配置服務器的韌性
4.3.4 理解配置服務器的REST API
4.4 通過Spring Cloud Config Client使用配置服務器
4.4.1 搭建配置客戶端
4.4.2 確保配置客戶端的韌性
4.4.3 在運行時刷新配置
小結
第5章 云中的數據持久化與數據管理
5.1 云原生系統的數據庫
5.1.1 云中的數據服務
5.1.2 以容器的形式運行PostgreSQL
5.2 使用Spring Data JDBC進行數據持久化
5.2.1 使用JDBC建立到數據庫的連接
5.2.2 使用Spring Data定義持久化實體
5.2.3 啟用和配置JDBC審計
5.2.4 使用Spring Data實現數據資源庫
5.3 使用Spring和Testcontainers測試數據持久化
5.3.1 為PostgreSQL配置Testcontainers
5.3.2 使用@DataJdbcTest和Testcontainers測試數據持久化
5.3.3 使用@SpringBootTest和Testcontainers進行集成測試
5.4 使用Flyway管理生產環境中的數據庫
5.4.1 理解Flyway:對數據庫進行版本控制
5.4.2 使用Flyway初始化數據庫模式
5.4.3 使用Flyway演進數據庫
小結
第6章 容器化Spring Boot
6.1 在Docker上使用容器鏡像
6.1.1 理解容器鏡像
6.1.2 使用Dockerfile創建鏡像
6.1.3 發布鏡像到GitHub Container Registry
6.2 將Spring Boot應用打包為容器鏡像
6.2.1 讓Spring Boot為容器化做好準備
6.2.2 使用Dockerfiles容器化Spring Boot
6.2.3 構建適用于生產環境的容器鏡像
6.2.4 使用Cloud Native Buildpacks容器化Spring Boot
6.3 使用Docker Compose管理Spring Boot容器
6.3.1 使用Docker Compose管理容器的生命周期
6.3.2 調試Spring Boot容器
6.4 部署流水線:打包和發布
6.4.1 在提交階段構建發布候選
6.4.2 使用GitHub Actions發布容器鏡像
6.5 小結
第7章 面向Spring Boot的Kubernetes基礎
7.1 從Docker到Kubernetes
7.1.1 使用本地的Kubernetes集群
7.1.2 管理本地集群中的數據服務
7.2 Spring Boot應用的Kubernetes Deployment
7.2.1 從容器到Pod
7.2.2 使用Deployment來控制Pod
7.2.3 創建Spring Boot應用的Deployment
7.3 服務發現與負載均衡
7.3.1 理解服務發現和負載均衡
7.3.2 客戶端的服務發現和負載均衡
7.3.3 服務器端的服務發現和負載均衡
7.3.4 使用Kubernetes Service對外暴露Spring Boot應用
7.4 可擴展性和易處理性
7.4.1 確保易處理性:快速啟動
7.4.2 確保易處理性:優雅關機
7.4.3 擴展Spring Boot應用
7.5 使用Tilt實現本地的Kubernetes開發
7.5.1 使用Tilt實現內開發循環
7.5.2 使用Octant可視化Kubernetes工作負載
7.6 部署流水線:校驗Kubernetes清單
7.6.1 在提交階段校驗Kubernetes清單
7.6.2 使用GitHub Actions實現Kubernetes清單校驗的自動化
7.6 小結
第三部分 云原生分布式系統
第8章 反應式Spring:韌性與可擴展性
8.1 使用Reactor和Spring的異步與非阻塞架構
8.1.1 從“每個請求一個線程”到事件循環
8.1.2 Reactor項目:使用Mono和Flux實現的反應式流
8.1.3 理解Spring反應式技術棧
8.2 使用Spring WebFlux和Spring Data R2DBC實現反應式服務器
8.2.1 使用Spring Boot引導反應式應用
8.2.2 使用Spring Data R2DBC反應式地持久化數據
8.2.3 使用反應式流實現業務邏輯
8.2.4 使用Spring WebFlux暴露REST API
8.3 使用Spring WebClient編寫反應式客戶端
8.3.1 Spring中的服務與服務通信
8.3.2 理解如何交換數據
8.3.3 使用WebClient實現REST客戶端
8.4使用反應式Spring實現韌性的應用
8.4.1 超時
8.4.2 重試
8.4.3 后備策略和錯誤處理
8.5 使用Spring、Reactor和Testcontainers測試反應式應用
8.5.1 使用mock Web服務器測試REST客戶端
8.5.2 使用@DataR2dbcTest和Testcontainers測試數據持久化
8.5.3 使用@WebFluxTest測試REST控制器
8.6小結
第9章 API網關與斷路器
9.1 邊緣服務器和Spring Cloud Gateway
9.1.1 使用Spring Cloud Gateway引導邊緣服務器
9.1.2 定義路由和斷言
9.1.3 通過過濾器處理請求和響應
9.2 使用Spring Cloud Circuit Breaker和Resilience4J實現容錯
9.2.1 使用Spring Cloud Circuit Breaker引入斷路器
9.2.2 使用Resilience4J配置斷路器
9.2.3 使用Spring WebFlux定義后備REST API
9.2.4 組合斷路器、重試和限時器
9.3 使用Spring Cloud Gateway和Redis進行限流
9.3.1 以容器的形式運行Redis
9.3.2 集成Spring與Redis
9.3.3 配置請求限流器
9.4 基于Redis的分布式會話管理
9.4.1 使用Spring Session Data Redis處理會話
9.5 使用Kubernetes Ingress管理外部訪問
9.5.1 理解Ingress API和Ingress Controller
9.5.2 使用Ingress對象
小結
第 10章 事件驅動應用與函數
10.1.1 理解事件驅動模型
10.1.2 使用發布/訂閱模型
10.2 基于RabbitMQ的消息代理
10.2.1 理解消息系統中的AMQP
10.2.2 使用RabbitMQ實現發布/訂閱通信
10.3 基于Spring Cloud Function的函數
10.3.1 在Spring Cloud Function中使用函數化范式
10.3.2 組合與集成函數:REST、Serverless與數據流
10.4 使用Spring Cloud Stream處理消息
10.4.1 配置與RabbitMQ的集成
10.4.2 將函數綁定至消息通道
10.4.3 使用Test Binder編寫集成測試
10.4.4 保持消息系統應對故障的韌性
10.5 使用Spring Cloud Stream生產和消費消息
10.5.1 實現事件消費者以及冪等性問題
10.5.2 實現事件生產者以及原子性問題
小結
第 11章 安全性:認證與SPA
11.1 理解Spring Security的基礎知識
11.2 使用Keycloak管理用戶賬號
11.2.1 定義安全realm
11.2.2 管理用戶和角色
11.3 使用OpenID Connect、JWT和Keycloak進行認證
11.3.1 使用OpenID Connect認證用戶
11.3.2 使用JWT交換用戶信息
11.3.3 在Keycloak中注冊應用
11.4 使用Spring Security和OpenID Connect認證用戶
11.4.1 添加新的依賴
11.4.2 配置Spring Security和Keycloak集成
11.4.3 Spring Security的基本配置
11.4.4 探查認證用戶的上下文
11.4.5 在Spring Security和Keycloak中配置用戶退出
11.5 集成Spring Security與SPA
11.5.1 運行Angular應用
11.5.2 控制認證流
11.5.3 防止跨站請求偽造
11.6 測試Spring Security和OpenID Connect
11.6.1 測試OIDC認證
11.6.2 測試CSRF
小結
第 12章 安全:授權和審計
12.1 使用Spring Cloud Gateway和OAuth2實現授權和角色管理
12.1.1 從Spring Cloud Gateway到其他服務的令牌中繼
12.1.2 自定義令牌并傳播用戶角色
12.2 使用Spring Security和OAuth2保護API(命令式)
12.2.1 以OAuth2資源服務器的方式保護Spring Boot應用
12.2.2 使用Spring Security和JWT實現基于角色的訪問控制
12.2.3 使用Spring Security和Testcontainers測試OAuth2
12.3 使用Spring Security和OAuth2保護API(反應式)
12.3.1 以OAuth2資源服務器的方式保護Spring Boot應用
12.3.2 使用Spring Security和Testcontainers測試OAuth2
12.4 使用Spring Security和Spring Data保護和審計數據
12.4.1 使用Spring Security和Spring Data JDBC審計數據
12.4.2 使用Spring Data和@WithMockUser測試數據審計
12.4.3 使用Spring Security和Spring Data R2DBC保護用戶數據
12.4.4使用@WithMockUser和Spring Data R2DBC測試數據審計和保護
小結
第四部分 云原生生產化
第 13章 可觀測性與監控
13.1 使用Spring Boot、Loki和Fluent Bit管理日志
13.1.1 使用Spring Boot記錄日志
13.1.2 使用Loki、Fluent Bit和Grafana管理日志
13.2 使用Spring Boot Actuator和Kubernetes實現健康探針
13.2.1 使用Actuator定義健康探針
13.2.2 在Spring Boot和Kubernetes中配置健康指針
13.3 使用Spring Boot Actuator、Prometheus和Grafana實現度量和監控
13.3.1 使用Spring Boot Actuator和Micrometer配置度量
13.3.2 使用Prometheus和Grafana監控度量
13.3.3 在Kubernetes中配置Prometheus度量
13.4 使用OpenTelemetry和Tempo進行分布式跟蹤
13.4.1 使用Tempo和Grafana管理跟蹤
13.4.2 在Spring Boot中使用OpenTelemetry配置跟蹤
13.5 使用Spring Boot Actuator管理和監控應用
13.5.1 在Spring Boot中監控Flyway遷移
13.5.2 暴露應用信息
13.5.3 生成和分析堆轉儲文件
小結
第 14章 配置與Secret管理
14.1 在Kubernetes上配置應用
14.1.1 使用Spring Security保護配置服務器
14.1.2 使用Spring Cloud Bus刷新配置
14.1.3 使用Spring Cloud Config管理Secret
14.1.4 禁用Spring Cloud Config
14.2 在Kubernetes中使用ConfigMap和Secret
14.2.1 使用ConfigMap配置Spring Boot
14.2.2 (是否應該)使用Secret存儲敏感信息
14.2.3 使用Spring Cloud Kubernetes在運行時刷新配置
14.3 使用Kustomize進行配置管理
14.3.1 使用Kustomize管理和配置 Spring Boot應用
14.3.2 使用Kustomize管理多環境的Kubernetes配置
14.3.3 定義staging環境的配置Overlay
14.3.4 自定義環境變量
14.3.5 自定義ConfigMap
14.3.6 自定義鏡像名稱和版本
14.3.7 自定義副本數量
小結
第 15章 持續交付與GitOps
15.1 部署流水線:驗收階段
15.1.1 為持續交付中的發布候選進行版本化
15.1.2 理解部署流水線的驗收階段
15.1.3 使用GitHub Actions實現驗收階段
15.2 配置Spring Boot的生產化
15.2.1 為生產化定義配置Overlay
15.2.2 為Spring Boot容器配置CPU和內存
15.2.3 將Spring Boot部署至生產環境
15.3 部署流水線:生產化階段
15.3.1 理解部署流水線的生產化階段
15.3.2 使用GitHub Actions實現生產化階段
15.4 使用GitOps實現持續部署
15.4.1 使用Argo CD實現GitOps
15.4.2 組合到一起
小結
第 16章 Serverless、GraalVM與Knative
16.1 使用Spring Native和GraalVM生成原生鏡像
16.1.1 理解GraalVM和Spring Native
16.1.2 使用Spring Native引入GraalVM對Spring Boot的支持
16.1.3 將Spring Boot應用編譯為原生鏡像
16.2 使用Spring Cloud Function的Serverless應用
16.2.1 使用Spring Cloud Function構建Serverless應用
16.2.2 部署流水線:構建和發布
16.2.3 將Serverless應用部署在云中
16.3 使用Knative部署Serverless應用
16.3.1 搭建Knative平臺
16.3.2 使用Knative CLI部署應用
16.3.3 使用Knative清單部署應用
小結
附錄A 搭建開發環境
附錄B 使用DigitalOcean搭建生產環境的Kubernetes
云原生SPRING實戰 SPRING BOOT與KUBERNETES實踐 作者簡介
托馬斯·維塔萊(Thomas Vitale)是一名軟件工程師和架構師,專門構建云原生、有韌性和安全的企業應用。他在丹麥的Systematic公司設計和開發軟件解決方案,在那里他一直致力于為云原生領域提供現代化的平臺和應用,專注于開發體驗和安全性。 他主要關注的領域是Java、Spring Boot、Kubernetes、Knative和一般的云原生技術。托馬斯支持持續交付實踐,并相信協作的文化,致力于為用戶、消費者和企業交付價值。他喜歡為Spring Security和Spring Cloud等開源項目作貢獻,并與社區分享知識。 托馬斯擁有意大利都靈理工大學的計算機工程碩士學位,主要研究方向是軟件領域。他獲得CNCF Certified Kubernetes Application Developer、Pivotal Certified Spring Professional以及RedHat Certified Enterprise Appli- cation Developer認證。他在各種活動中的演講主題涵蓋SpringOne、Spring I/O、KubeCon CloudNativeCon、Devoxx、GOTO、JBCNConf、DevTalks和J4K。
- >
月亮虎
- >
月亮與六便士
- >
中國歷史的瞬間
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
回憶愛瑪儂
- >
伯納黛特,你要去哪(2021新版)
- >
小考拉的故事-套裝共3冊
- >
山海經