Spring Cloud 微服務(wù)分布式架構(gòu)開發(fā)實(shí)戰(zhàn)
定 價(jià):39.8 元
- 作者:肖睿 陳昊 王社
- 出版時(shí)間:2019/1/1
- ISBN:9787115500007
- 出 版 社:人民郵電出版社
- 中圖法分類:TP368.5
- 頁碼:193
- 紙張:
- 版次:01
- 開本:16開
本書圍繞票務(wù)網(wǎng)站大覓網(wǎng)項(xiàng)目的業(yè)務(wù)場景,對當(dāng)下流行的Spring Cloud微服務(wù)架構(gòu)進(jìn)行實(shí)戰(zhàn)式講解。
全書共8章。主要內(nèi)容包括微服務(wù)架構(gòu)與項(xiàng)目設(shè)計(jì)、Spring Cloud初體驗(yàn)、虛擬化技術(shù)Docker+Jenkins、分布式日志處理、分布式業(yè)務(wù)實(shí)現(xiàn)、分布式部署實(shí)現(xiàn)、分布式數(shù)據(jù)存儲和集成測試。
本書內(nèi)容緊密結(jié)合實(shí)際應(yīng)用,融入大量案例進(jìn)行說明和實(shí)踐,使用Spring Cloud微服務(wù)架構(gòu)相關(guān)技術(shù)進(jìn)行分布式開發(fā),并配以完善的學(xué)習(xí)資源和支持服務(wù),包括參考教案、案例素材、學(xué)習(xí)交流社區(qū)等,力求為讀者提供全方位的學(xué)習(xí)體驗(yàn)。
1、選取知識點(diǎn)核心實(shí)用,以互聯(lián)網(wǎng)+實(shí)現(xiàn)終身學(xué)習(xí)
2、以企業(yè)需求為設(shè)計(jì)導(dǎo)向,以任務(wù)驅(qū)動(dòng)為講解方式
3、以案例為主線組織知識點(diǎn),以實(shí)戰(zhàn)項(xiàng)目來提升技術(shù)
4、充分考慮學(xué)習(xí)者的認(rèn)知曲線,由淺入深,邊講邊練
陳昊,女,畢業(yè)于西北大學(xué)信息科學(xué)與技術(shù)學(xué)院,博士研究生,F(xiàn)任中國勞動(dòng)關(guān)系學(xué)院教師,副教授。主要講授面向?qū)ο蟪绦蛟O(shè)計(jì)、JSP程序設(shè)計(jì)等課程,從事數(shù)據(jù)庫技術(shù)和傳感器網(wǎng)絡(luò)方向的科研工作。作為主要成員參與國家自然科學(xué)基金三項(xiàng),主持省部級項(xiàng)目一項(xiàng)。
第 1章 微服務(wù)架構(gòu)與項(xiàng)目設(shè)計(jì) 1
任務(wù)1 了解大覓網(wǎng)業(yè)務(wù)場景 2
任務(wù)2 了解微服務(wù)架構(gòu) 7
1.2.1 軟件架構(gòu)分類 7
1.2.2 微服務(wù)架構(gòu)概念 10
任務(wù)3 了解大覓網(wǎng)架構(gòu)設(shè)計(jì) 12
任務(wù)4 了解大覓網(wǎng)項(xiàng)目管理設(shè)計(jì) 15
1.4.1 代碼版本管理設(shè)計(jì) 15
1.4.2 代碼規(guī)范管理設(shè)計(jì) 18
1.4.3 團(tuán)隊(duì)協(xié)作管理設(shè)計(jì) 20
第 2章 Spring Cloud初體驗(yàn) 23
任務(wù)1 了解Spring Cloud 24
2.1.1 Spring Cloud簡介 24
2.1.2 Spring Cloud和Spring Boot 24
2.1.3 Spring Cloud體系介紹 25
任務(wù)2 使用Eureka實(shí)現(xiàn)注冊中心及注冊服務(wù) 26
2.2.1 Eureka簡介 26
2.2.2 編寫Eureka Server 26
2.2.3 注冊微服務(wù)到Eureka Server 28
2.2.4 為Eureka Server添加用戶認(rèn)證 30
任務(wù)3 使用Feign實(shí)現(xiàn)聲明式REST調(diào)用 32
2.3.1 微服務(wù)間接口調(diào)用 32
2.3.2 接口調(diào)用參數(shù) 34
任務(wù)4 使用Hystrix實(shí)現(xiàn)微服務(wù)的容錯(cuò)處理 38
2.4.1 容錯(cuò) 38
2.4.2 使用Hystrix處理容錯(cuò) 39
2.4.3 容錯(cuò)可視化監(jiān)控 40
第3章 虛擬化技術(shù)Docker+Jenkins 49
任務(wù)1 安裝Docker 50
3.1.1 Docker和虛擬機(jī) 50
3.1.2 Docker相關(guān)概念 51
3.1.3 Docker運(yùn)行原理 52
3.1.4 在Ubuntu環(huán)境中安裝Docker 53
任務(wù)2 使用Docker命令管理Docker 53
3.2.1 Docker鏡像操作命令 53
3.2.2 Docker容器操作命令 55
任務(wù)3 使用docker-compose管理Docker 57
3.3.1 docker-compose介紹 57
3.3.2 docker-compose.yml常用命令 58
3.3.3 docker-compose常用命令 59
任務(wù)4 使用Docker+Jenkins實(shí)現(xiàn)CI 60
3.4.1 Jenkins介紹 60
3.4.2 Jenkins的安裝 60
3.4.3 Jenkins的配置 62
3.4.4 使用Jenkins配置普通任務(wù) 66
3.4.5 使用Jenkins Pipeline配置流水線任務(wù) 70
第4章 分布式日志處理 73
任務(wù)1 了解分布式架構(gòu)下系統(tǒng)的監(jiān)控問題 74
4.1.1 接口監(jiān)控問題 74
4.1.2 日志監(jiān)控問題 74
任務(wù)2 使用Sleuth實(shí)現(xiàn)微服務(wù)跟蹤 74
4.2.1 微服務(wù)項(xiàng)目整合Spring Cloud Sleuth 75
4.2.2 Spring Cloud Sleuth整合Zipkin 76
任務(wù)3 搭建ELK+Kafka環(huán)境 82
4.3.1 Elasticsearch介紹及環(huán)境搭建 83
4.3.2 Kibana介紹及環(huán)境搭建 86
4.3.3 Logstash介紹及環(huán)境搭建 87
4.3.4 Kafka介紹及環(huán)境搭建 88
任務(wù)4 使用ELK+Kafka實(shí)現(xiàn)日志收集 89
4.4.1 發(fā)送日志信息到Kafka 89
4.4.2 在Logstash中定義收集規(guī)則 91
4.4.3 在Kibana中定義規(guī)則查詢?nèi)罩尽?2
第5章 分布式業(yè)務(wù)實(shí)現(xiàn) 97
任務(wù)1 使用RabbitMQ實(shí)現(xiàn)分布式事務(wù) 98
5.1.1 分布式事務(wù)簡介 98
5.1.2 消息中間件簡介 99
5.1.3 RabbitMQ的安裝與配置 101
5.1.4 使用RabbitMQ實(shí)現(xiàn)分布式事務(wù) 108
任務(wù)2 使用Redis-setnx實(shí)現(xiàn)分布式鎖 114
第6章 分布式部署實(shí)現(xiàn) 119
任務(wù)1 使用Spring Cloud Ribbon實(shí)現(xiàn)大覓網(wǎng)服務(wù)負(fù)載均衡 120
6.1.1 Ribbon簡介 120
6.1.2 服務(wù)消費(fèi)者整合Ribbon 120
6.1.3 負(fù)載均衡策略 122
6.1.4 通過配置方式更改負(fù)載均衡策略 122
任務(wù)2 使用Spring Cloud Zuul實(shí)現(xiàn)大覓網(wǎng)微服務(wù)統(tǒng)一網(wǎng)關(guān) 123
6.2.1 微服務(wù)網(wǎng)關(guān)介紹 123
6.2.2 搭建Zuul微服務(wù)網(wǎng)關(guān) 124
6.2.3 使用過濾器過濾請求 126
任務(wù)3 使用Spring Cloud Config實(shí)現(xiàn)大覓網(wǎng)分布式配置 128
6.3.1 編寫Config Server 129
6.3.2 編寫Config Client 131
6.3.3 加密解密 132
6.3.4 刷新配置 136
6.3.5 用戶認(rèn)證 138
第7章 分布式數(shù)據(jù)存儲 141
任務(wù)1 使用Elasticsearch實(shí)現(xiàn)商品全文檢索 142
7.1.1 Elasticsearch基礎(chǔ)概念 143
7.1.2 Elasticsearch語法 144
7.1.3 編寫Elasticsearch Java客戶端 156
任務(wù)2 使用Mycat實(shí)現(xiàn)水平分庫 159
7.2.1 Mycat簡介 160
7.2.2 Mycat安裝及配置 161
7.2.3 實(shí)現(xiàn)大覓網(wǎng)水平分庫 164
第8章 集成測試 169
任務(wù)1 使用Sonar對大覓網(wǎng)代碼進(jìn)行規(guī)范測試 170
8.1.1 配合Jenkins自動(dòng)檢測代碼 170
8.1.2 Sonar規(guī)則配置 176
任務(wù)2 使用JMeter進(jìn)行大覓網(wǎng)壓力測試 177
8.2.1 了解壓力測試相關(guān)概念 177
8.2.2 使用JMeter進(jìn)行大覓網(wǎng)接口測試 179
8.2.3 JMeter報(bào)告分析 186
任務(wù)3 使用Issue進(jìn)行大覓網(wǎng)前后端聯(lián)調(diào)任務(wù)管理 190
8.3.1 Issue簡介 190
8.3.2 使用Issue進(jìn)行Bug管理 190