微服務(wù)實戰(zhàn)(Dubbox +Spring Boot+Docker)
定 價:29.8 元
叢書名:新技術(shù)技能人才培養(yǎng)系列教程
- 作者:肖睿 吳剛山 黃興
- 出版時間:2018/7/1
- ISBN:9787115486691
- 出 版 社:人民郵電出版社
- 中圖法分類:TP368.5
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
在這個凡事皆互聯(lián)的時代,越來越多的人和物成為互聯(lián)網(wǎng)上的節(jié)點(diǎn),不斷擴(kuò)充著互聯(lián)網(wǎng)這張大網(wǎng)的邊界。節(jié)點(diǎn)即價值,更多的節(jié)點(diǎn)意味著更大的價值。那么如何去承載更多的節(jié)點(diǎn)就成為IT從業(yè)人士首要解決的問題。本書圍繞秒殺搶購應(yīng)用場景,對當(dāng)下流行的Dubbox+Spring Boot+Docker微服務(wù)架構(gòu)解決方案進(jìn)行講解。主要內(nèi)容包括微服務(wù)架構(gòu)介紹、Dubbox原理及運(yùn)用、使用Spring Boot實現(xiàn)微服務(wù)、使用ActiveMQ+Redis承載高并發(fā)流量、使用ActiveMQ實現(xiàn)分布式事務(wù)、分布式下的第三方接入等。
本書以項目為驅(qū)動,引領(lǐng)讀者對相關(guān)技術(shù)進(jìn)行實踐性學(xué)習(xí)。同時為了提升讀者對相關(guān)技術(shù)的實際運(yùn)用能力,本書將實際開發(fā)經(jīng)驗注入到整個項目開發(fā)周期中,使用目前較為流行的Dubbox+Spring Boot+Docker微服務(wù)架構(gòu)實現(xiàn)“雙11”搶購項目。
為保證*學(xué)習(xí)效果,本書配以完善的學(xué)習(xí)資料和支持服務(wù),包括視頻教程、案例素材下載、學(xué)習(xí)交流社區(qū)、討論組等終身學(xué)習(xí)內(nèi)容,為開發(fā)者帶來全方位的學(xué)習(xí)體驗。
1、選取知識點(diǎn)核心實用,以互聯(lián)網(wǎng)+實現(xiàn)終身學(xué)習(xí)
2、以企業(yè)需求為設(shè)計導(dǎo)向,以任務(wù)驅(qū)動為講解方式
3、以案例為主線組織知識點(diǎn),以實戰(zhàn)項目來提升技術(shù)
4、充分考慮學(xué)習(xí)者的認(rèn)知曲線,由淺入深,邊講邊練
北大課工場是專注互聯(lián)網(wǎng)教育的生態(tài)平臺,針對行業(yè)的快速變化,建設(shè)并維護(hù)了中國和北美的327人一線大咖團(tuán)隊,由他們直接參與課程研發(fā)和提供授課服務(wù)。大咖團(tuán)隊不乏來自BAT等國內(nèi)知名互聯(lián)網(wǎng)技術(shù)公司的技術(shù)專家、技術(shù)大牛、CTO和CEO,其中絕大部分擁有超過10年的技術(shù)研發(fā)實戰(zhàn)經(jīng)驗,這樣可以讓學(xué)員拿到互聯(lián)網(wǎng)一線企業(yè)項目進(jìn)行實戰(zhàn)化練習(xí),真正起到“名師出高徒”的傳幫帶效應(yīng)。同時課工場也為高校、企業(yè)、行業(yè)提供教育技術(shù)賦能,依托Transform只能教育生態(tài)平臺,打造智慧校園、企業(yè)大學(xué)、行業(yè)培訓(xùn)的教育場景,提供一站式教育解決方案。
序言
前言
第 1章 架構(gòu)設(shè)計 1
任務(wù)1 了解秒殺搶購業(yè)務(wù)場景 2
1.1.1 秒殺搶購業(yè)務(wù)場景介紹 2
1.1.2 秒殺搶購業(yè)務(wù)需求分析 3
任務(wù)2 架構(gòu)設(shè)計 3
1.2.1 業(yè)務(wù)架構(gòu)設(shè)計 3
1.2.2 應(yīng)用架構(gòu)設(shè)計 4
1.2.3 技術(shù)架構(gòu)設(shè)計 4
1.2.4 部署架構(gòu)設(shè)計 4
本章總結(jié) 6
本章練習(xí) 6
第 2章 微服務(wù)架構(gòu) 7
任務(wù)1 了解軟件行業(yè)分類并掌握軟件架構(gòu)分類 8
2.1.1 軟件行業(yè)分類 8
2.1.2 軟件架構(gòu)分類 8
任務(wù)2 掌握微服務(wù)架構(gòu)的相關(guān)概念 11
2.2.1 Provider和Consumer 12
2.2.2 RPC和RESTful 12
2.2.3 分布式 13
2.2.4 集群 13
任務(wù)3 熟悉常見微服務(wù)架構(gòu)并掌握微服務(wù)架構(gòu)設(shè)計原則 13
2.3.1 常見微服務(wù)架構(gòu) 13
2.3.2 微服務(wù)架構(gòu)設(shè)計原則 14
2.3.3 微服務(wù)架構(gòu)解決方案 14
本章總結(jié) 14
本章練習(xí) 14
第3章 Docker環(huán)境搭建 15
任務(wù)1 了解Docker相關(guān)概念 16
3.1.1 Docker和虛擬機(jī) 16
3.1.2 Docker Container 17
3.1.3 Docker Image 18
3.1.4 Docker Registry 18
3.1.5 Docker運(yùn)行原理 19
3.1.6 Docker容器IP和端口映射 19
3.1.7 Docker集群 20
任務(wù)2 掌握Docker安裝步驟 20
任務(wù)3 掌握Docker常用命令 21
3.3.1 Docker鏡像操作命令 21
3.3.2 Docker容器操作命令 23
任務(wù)4 了解Docker可視化 27
任務(wù)5 使用Docker搭建項目環(huán)境 27
3.5.1 環(huán)境要求 28
3.5.2 搭建步驟 28
3.5.3 相關(guān)配置和檢查 29
3.5.4 測試服務(wù) 33
3.5.5 生成鏡像 34
3.5.6 發(fā)布服務(wù) 34
本章總結(jié) 36
本章練習(xí) 36
第4章 Spring Boot初體驗 37
任務(wù)1 掌握Spring Boot的定義和作用 38
4.1.1 定義 38
4.1.2 作用 38
任務(wù)2 掌握Spring Boot項目環(huán)境搭建的步驟 39
4.2.1 環(huán)境要求 39
4.2.2 環(huán)境搭建 39
4.2.3 核心組件 41
任務(wù)3 整合MyBatis和Redis 43
4.3.1 整合MyBatis 43
4.3.2 整合Redis 46
任務(wù)4 自定義Spring Boot的自動配置 48
本章總結(jié) 51
本章練習(xí) 51
第5章 使用Dubbox+Spring Boot搭建微服務(wù)架構(gòu) 52
任務(wù)1 了解Dubbox的概念和運(yùn)行環(huán)境 53
5.1.1 Dubbox介紹 53
5.1.2 依賴環(huán)境介紹 53
任務(wù)2 掌握Dubbox的運(yùn)行原理 54
任務(wù)3 掌握Dubbox的搭建步驟 55
任務(wù)4 使用Dubbox實現(xiàn)提供者和消費(fèi)者 58
5.4.1 創(chuàng)建通用接口項目 58
5.4.2 Dubbox實現(xiàn)提供者 59
5.4.3 Dubbox實現(xiàn)消費(fèi)者 61
任務(wù)5 搭建“雙11”搶購項目微服務(wù)架構(gòu) 64
本章總結(jié) 64
本章練習(xí) 64
第6章 基于Redis+ActiveMQ實現(xiàn)高并發(fā)訪問 65
任務(wù)1 初識分布式鎖并使用Redis實現(xiàn)分布式鎖 66
6.1.1 分布式鎖的概念 66
6.1.2 使用Redis實現(xiàn)分布式鎖 66
任務(wù)2 初識消息中間件 68
6.2.1 消息中間件概念 68
6.2.2 消息中間件作用 68
6.2.3 常見消息中間件 70
任務(wù)3 掌握消息中間件ActiveMQ的使用 70
6.3.1 安裝與配置 70
6.3.2 使用Spring Boot整合ActiveMQ 71
任務(wù)4 在“雙11”搶購項目中應(yīng)用消息隊列 75
6.4.1 緩存搶購請求 76
6.4.2 控制庫存事務(wù) 76
本章總結(jié) 77
本章練習(xí) 77
第7章 分布式下的第三方接入 78
任務(wù)1 實現(xiàn)分布式下的微信登錄功能 79
7.1.1 接入背景介紹 79
7.1.2 準(zhǔn)備工作 79
7.1.3 授權(quán)流程說明 80
7.1.4 實現(xiàn)步驟及參數(shù)解析 80
7.1.5 編碼實現(xiàn) 83
7.1.6 注意事項 85
任務(wù)2 實現(xiàn)分布式下的微信支付功能 87
7.2.1 微信支付功能介紹 87
7.2.2 微信支付申請流程 87
7.2.3 微信支付類型 87
7.2.4 微信掃碼支付 88
7.2.5 相關(guān)參數(shù)獲取 89
7.2.6 微信支付安全規(guī)范 90
7.2.7 微信掃碼支付開發(fā)步驟 90
7.2.8 微信掃碼支付前端設(shè)計 95
任務(wù)3 實現(xiàn)分布式下的支付寶支付功能 97
7.3.1 接入背景 97
7.3.2 開發(fā)步驟 97
本章總結(jié) 109
本章練習(xí) 109
第8章 高并發(fā)測試 110
任務(wù)1 了解壓力測試相關(guān)概念 111
8.1.1 高并發(fā)壓力測試 111
8.1.2 常見壓力測試工具 111
任務(wù)2 使用JMeter進(jìn)行高并發(fā)測試 112
8.2.1 下載并安裝JMeter 112
8.2.2 使用JMeter進(jìn)行“雙11”搶購項目測試 113
任務(wù)3 使用JMeter生成測試報告 119
8.3.1 生成測試報告 119
8.3.2 分析測試報告 120
本章總結(jié) 123
本章練習(xí) 123