本書基于云原生技術(shù)規(guī)范和中臺架構(gòu)設(shè)計理念,設(shè)計了一個具有前臺應(yīng)用、中臺應(yīng)用和后臺應(yīng)用的簡單應(yīng)用平臺實例,通過該實例演示使用Spring Boot開發(fā)框架、Spring Cloud工具套件和Vue.js前端開發(fā)框架等工具的開發(fā)過程。此外,以該實例為主導(dǎo),在部署過程中通過使用Docker進行容器化處理,使用Kubernetes進行集群發(fā)布管理以及使用Jenkins進行自動化構(gòu)建等方法,實現(xiàn)快速迭代和持續(xù)交付。閱讀本書,讀者可以完整體驗運用云原生技術(shù)和中臺架構(gòu)設(shè)計進行應(yīng)用開發(fā)、測試和快速部署的整個過程。
本書分為8章,內(nèi)容包括云原生概念,中臺架構(gòu)設(shè)計,后臺應(yīng)用、中臺應(yīng)用、前臺應(yīng)用開發(fā)實例講解,應(yīng)用容器化實施,容器集群管理,自動化測試,自動化部署和快速迭代實施等。
第1章云原生中臺架構(gòu)設(shè)計
1.1云原生的概念
1.2基于云原生的中臺架構(gòu)設(shè)計
1.2.1微服務(wù)設(shè)計的發(fā)展歷程
1.2.2中臺架構(gòu)設(shè)計模型
1.3中臺架構(gòu)設(shè)計的特點
1.4中臺架構(gòu)的可擴展設(shè)計
1.4.1中臺架構(gòu)的安全管理設(shè)計
1.4.2中臺應(yīng)用分布式事務(wù)設(shè)計
1.4.3前臺應(yīng)用的多樣化設(shè)計
1.5中臺架構(gòu)應(yīng)用平臺實例設(shè)計
1.5.1實例項目代碼結(jié)構(gòu)
1.5.2實例項目中應(yīng)用的調(diào)用關(guān)系
1.6小結(jié)
第2章后臺微服務(wù)開發(fā)
2.1使用Consul注冊中心
2.2后臺應(yīng)用開發(fā)
2.2.1用戶服務(wù)開發(fā)
2.2.2商品服務(wù)開發(fā)
2.3接口文檔及其測試
2.4后臺服務(wù)接口客戶端設(shè)計
2.5小結(jié)
第3章中臺服務(wù)中間件開發(fā)
3.1基于Restful協(xié)議的接口調(diào)用設(shè)計
3.2用戶訪問控制與安全設(shè)計
3.2.1Web安全策略配置
3.2.2實現(xiàn)安全用戶管理
3.2.3用戶登錄驗證
3.2.4訪問控制過濾器設(shè)計
3.2.5用戶鑒權(quán)處理器設(shè)計
3.2.6授權(quán)驗證處理器設(shè)計
3.2.7跨域訪問配置
3.2.8在安全管理環(huán)境中使用Swagger文檔
3.3基于gRPC協(xié)議的中臺應(yīng)用設(shè)計
3.3.1使用ProtoBuf協(xié)議定義服務(wù)
3.3.2gRPC服務(wù)端開發(fā)
3.4小結(jié)
第4章前臺設(shè)計與開發(fā)
4.1基于Vue.js的前臺應(yīng)用設(shè)計
4.1.1主程序腳本與路由配置
4.1.2主頁頁面設(shè)計
4.1.3接口調(diào)用與登錄設(shè)計
4.1.4開發(fā)調(diào)試與程序打包
4.2基于SpringBoot的前臺應(yīng)用設(shè)計
4.2.1使用Thymeleaf進行頁面設(shè)計
4.2.2gRPC客戶端開發(fā)
4.2.3調(diào)用gRPC客戶端
4.3小結(jié)
第5章應(yīng)用調(diào)試與集成測試
5.1開發(fā)框架的熱加載功能配置
5.2使用模擬數(shù)據(jù)進行調(diào)試
5.3離開開發(fā)環(huán)境的集成測試
5.4分布式環(huán)境與真機測試
5.5實現(xiàn)自動化測試
5.6小結(jié)
第6章容器化與鏡像倉庫
6.1容器化基礎(chǔ)Docker初識
6.1.1Docker安裝
6.1.2使用Docker創(chuàng)建鏡像
6.1.3使用Docker運行應(yīng)用
6.2Consul的Docker集群部署
6.3不錯編排工具dockercome
創(chuàng)建私域鏡像服務(wù)Harbor
6.5小結(jié)
第7章Kubernetes環(huán)境搭建及應(yīng)用部署
7.1TKE容器服務(wù)
7.2K8s環(huán)境Consul服務(wù)集群
7.3應(yīng)用部署編排
7.3.1后臺應(yīng)用部署
7.3.2中臺應(yīng)用部署
7.3.3前臺應(yīng)用部署
7.4ELK日志收集與分析
7.4.1Elasticsearch集群部署
7.4.2Logstash日志收集
7.4.3Kibana日志分析平臺
7.5Zipkin鏈路跟蹤
7.6小結(jié)
第8章快速迭代與自動化構(gòu)建
8.1代碼倉庫與團隊開發(fā)
8.2Jenkins自動部署
8.2.1Jenkins安裝與配置
8.2.2結(jié)合GitLab實現(xiàn)自動部署
8.3小結(jié)
附錄AKafka集群安裝
A.1互免密訪問配置
A.2安裝JDK工具
A.3禁用防火墻
A.4安裝配置ZooKeeper
安裝Kafka
A.6啟動Kafka
A.7集群驗證
A.8Kafka使用實例
附錄B參考網(wǎng)站