注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)基于Spring Boot實(shí)現(xiàn):Java分布式中間件開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)

基于Spring Boot實(shí)現(xiàn):Java分布式中間件開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)

基于Spring Boot實(shí)現(xiàn):Java分布式中間件開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)

定 價(jià):¥99.00

作 者: 鐘林森 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115535603 出版時(shí)間: 2020-06-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 568 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)主要是圍繞構(gòu)建分布式系統(tǒng)架構(gòu)的“中間件”開(kāi)發(fā)實(shí)戰(zhàn)展開(kāi)。開(kāi)篇介紹了分布式系統(tǒng)架構(gòu)的相關(guān)知識(shí)要點(diǎn),包括其功能、作用以及演進(jìn)歷程,并由此引出了分布式中間件的相關(guān)介紹;緊接著是重點(diǎn)介紹了目前在實(shí)際生產(chǎn)環(huán)境中應(yīng)用比較廣泛的幾款Java中間件,包括緩存中間件Redis、消息中間件RabbitMQ、統(tǒng)一協(xié)調(diào)管理中間件ZooKeeper以及綜合中間件Redisson等,詳盡介紹了這幾款中間件的基本概念、典型應(yīng)用場(chǎng)景以及相應(yīng)的功能組件。值得一提的是,在介紹這幾款中間件的理論知識(shí)時(shí),本書(shū)還以微框架Spring Boot作為基礎(chǔ),整合相關(guān)中間件的依賴(lài),結(jié)合作者的實(shí)際項(xiàng)目業(yè)務(wù)場(chǎng)景進(jìn)行代碼實(shí)戰(zhàn)。本書(shū)以代碼實(shí)戰(zhàn)為主,理論為輔,特別適用于初次接觸中間件的開(kāi)發(fā)者;而對(duì)于有一定Java應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)的工程師而言,通過(guò)本書(shū)也能了解中間件在構(gòu)建企業(yè)級(jí)應(yīng)用系統(tǒng)的過(guò)程中所提供的解決方案和思路。

作者簡(jiǎn)介

  鐘林森(修羅debug)曾在阿里游戲子公司擔(dān)任高級(jí)后端開(kāi)發(fā)工程師,創(chuàng)辦過(guò)fightjava 程序員實(shí)戰(zhàn)基地,長(zhǎng)期扎根于一線編碼開(kāi)發(fā)與系統(tǒng)架構(gòu)設(shè)計(jì),現(xiàn)為東英網(wǎng)絡(luò)科技有限公司創(chuàng)始合伙人。此外,作為CSDN博客專(zhuān)家、51CTO學(xué)院、CSDN 學(xué)院、網(wǎng)易云課堂等教育平臺(tái)知名講師,教授學(xué)生上萬(wàn)人,擁有大量原創(chuàng)博客,博客訪問(wèn)量達(dá)百萬(wàn)人次。追求技術(shù),熱愛(ài)分享,相信技術(shù)改變生活,技術(shù)成就夢(mèng)想,一直在不斷地學(xué)習(xí)和積累新知識(shí)。

圖書(shū)目錄

走進(jìn)分布式中間件 01
1.1 分布式系統(tǒng)概述 01
1.1.1 分布式系統(tǒng)定義 02
1.1.2 分布式系統(tǒng)發(fā)展歷程 02
1.1.3 分布式系統(tǒng)特性 05
1.1.4 分布式系統(tǒng)常見(jiàn)問(wèn)題 06
1.2 分布式中間件概述 06
1.2.1 分布式中間件簡(jiǎn)介 06
1.2.2 常見(jiàn)中間件介紹 07
1.3 本書(shū)核心知識(shí)要點(diǎn) 08
1.4 本書(shū)實(shí)戰(zhàn)要求與建議 09

搭建Spring Boot微服務(wù)項(xiàng)目 11
2.1 Spring Boot概述 11
2.1.1 什么是Spring Boot 11
2.1.2 Spring Boot的優(yōu)勢(shì) 12
2.1.3 Spring Boot的特性 13
2.2 搭建規(guī)范與搭建流程 14
2.2.1 Spring Boot項(xiàng)目的搭建規(guī)范 14
2.2.2 Spring Boot項(xiàng)目的搭建流程 15
2.2.3 寫(xiě)個(gè)“Hello World”吧 30
2.3 總結(jié) 33

緩存中間件Redis 34
3.1 Redis概述與典型應(yīng)用場(chǎng)景介紹 34
3.2 Redis的使用 36
3.2.1 快速安裝Redis 36
3.2.2 在Windows環(huán)境使用Redis 38
3.2.3 Spring Boot項(xiàng)目整合Redis 41
3.2.4 Redis自定義注入Bean組件配置 42
3.2.5 RedisTemplate實(shí)戰(zhàn) 44
3.2.6 StringRedisTemplate實(shí)戰(zhàn) 49
3.3 Redis常見(jiàn)數(shù)據(jù)類(lèi)型實(shí)戰(zhàn) 52
3.3.1 字符串 52
3.3.2 列表 55
3.3.3 集合 57
3.3.4 有序集合 58
3.3.5 哈希存儲(chǔ) 61
3.3.6 Key失效與判斷是否存在 65
3.4 Redis實(shí)戰(zhàn)場(chǎng)景之緩存穿透 68
3.4.1 什么是緩存穿透 68
3.4.2 緩存穿透的解決方案 69
3.4.3 實(shí)戰(zhàn)過(guò)程 70
3.4.4 其他典型的問(wèn)題介紹 79
3.5 總結(jié) 80

Redis典型應(yīng)用場(chǎng)景實(shí)戰(zhàn)之搶紅包系統(tǒng) 81
4.1 整體業(yè)務(wù)流程介紹 81
4.1.1 搶紅包系統(tǒng)業(yè)務(wù)流程 82
4.1.2 業(yè)務(wù)流程分析 82
4.1.3 業(yè)務(wù)模塊劃分 84
4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)與環(huán)境搭建 85
4.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì) 85
4.2.2 開(kāi)發(fā)環(huán)境搭建 88
4.2.3 開(kāi)發(fā)流程介紹 103
4.3 “紅包金額”隨機(jī)生成算法實(shí)戰(zhàn) 107
4.3.1 隨機(jī)數(shù)算法 108
4.3.2 紅包隨機(jī)金額生成算法要求 109
4.3.3 二倍均值法簡(jiǎn)介 109
4.3.4 紅包隨機(jī)金額生成算法實(shí)戰(zhàn) 111
4.3.5 紅包隨機(jī)金額生成算法自測(cè) 113
4.4 “發(fā)紅包”模塊實(shí)戰(zhàn) 115
4.4.1 業(yè)務(wù)模塊分析 115
4.4.2 整體流程實(shí)戰(zhàn) 117
4.4.3 業(yè)務(wù)模塊自測(cè) 127
4.5 “搶紅包”模塊實(shí)戰(zhàn) 129
4.5.1 業(yè)務(wù)模塊分析 129
4.5.2 整體流程實(shí)戰(zhàn) 130
4.5.3 業(yè)務(wù)模塊自測(cè) 135
4.5.4 小結(jié) 139
4.6 JMeter壓測(cè)高并發(fā)搶紅包 140
4.7 問(wèn)題分析與優(yōu)化方案實(shí)戰(zhàn) 146
4.7.1 問(wèn)題分析 147
4.7.2 優(yōu)化方案介紹 148
4.7.3 優(yōu)化方案之Redis分布式鎖實(shí)戰(zhàn) 148
4.7.4 不足之處 152
4.8 總結(jié) 153

消息中間件RabbitMQ 154
5.1 RabbitMQ概述 154
5.1.1 認(rèn)識(shí)RabbitMQ 155
5.1.2 典型應(yīng)用場(chǎng)景介紹 156
5.1.3 RabbitMQ后端控制臺(tái)介紹 162
5.1.4 基于Spring的事件驅(qū)動(dòng)模型實(shí)戰(zhàn) 164
5.2 Spring Boot項(xiàng)目整合RabbitMQ 169
5.2.1 RabbitMQ相關(guān)詞匯介紹 170
5.2.2 Spring Boot項(xiàng)目整合RabbitMQ 171
5.2.3 自定義注入配置Bean相關(guān)組件 172
5.2.4 RabbitMQ發(fā)送和接收消息實(shí)戰(zhàn) 177
5.2.5 其他發(fā)送和接收消息方式實(shí)戰(zhàn) 184
5.3 RabbitMQ多種消息模型實(shí)戰(zhàn) 191
5.3.1 基于FanoutExchange的消息模型實(shí)戰(zhàn) 191
5.3.2 基于DirectExchange的消息模型實(shí)戰(zhàn) 201
5.3.3 基于TopicExchange的消息模型實(shí)戰(zhàn) 209
5.4 RabbitMQ確認(rèn)消費(fèi)機(jī)制 218
5.4.1 消息高可用和確認(rèn)消費(fèi)機(jī)制 218
5.4.2 常見(jiàn)確認(rèn)消費(fèi)模式介紹 221
5.4.3 基于自動(dòng)確認(rèn)消費(fèi)模式實(shí)戰(zhàn) 223
5.4.4 基于手動(dòng)確認(rèn)消費(fèi)模式實(shí)戰(zhàn) 232
5.5 典型應(yīng)用場(chǎng)景實(shí)戰(zhàn)之用戶(hù)登錄成功寫(xiě)日志 240
5.5.1 整體業(yè)務(wù)流程介紹與分析 241
5.5.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 242
5.5.3 開(kāi)發(fā)環(huán)境搭建 254
5.5.4 基于TopicExchange構(gòu)建日志消息模型 259
5.5.5 異步發(fā)送和接收登錄日志消息實(shí)戰(zhàn) 261
5.5.6 整體業(yè)務(wù)模塊自測(cè)實(shí)戰(zhàn) 267
5.6 總結(jié) 270

死信隊(duì)列實(shí)戰(zhàn) 271
6.1 死信隊(duì)列概述 271
6.1.1 死信隊(duì)列簡(jiǎn)介與作用 271
6.1.2 典型應(yīng)用場(chǎng)景介紹 274
6.2 RabbitMQ死信隊(duì)列實(shí)戰(zhàn) 275
6.2.1 死信隊(duì)列專(zhuān)有詞匯介紹 276
6.2.2 死信隊(duì)列消息模型實(shí)戰(zhàn) 277
6.2.3 死信隊(duì)列延遲發(fā)送和接收消息實(shí)戰(zhàn) 284
6.3 典型應(yīng)用場(chǎng)景實(shí)戰(zhàn)之商城平臺(tái)訂單支付超時(shí) 292
6.3.1 整體業(yè)務(wù)場(chǎng)景介紹 292
6.3.2 整體業(yè)務(wù)流程分析 294
6.3.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 294
6.3.4 構(gòu)建RabbitMQ死信隊(duì)列消息模型 307
6.3.5 Controller層開(kāi)發(fā)生成并失效用戶(hù)下單功能 312
6.3.6 “用戶(hù)下單支付超時(shí)”延遲發(fā)送和接收實(shí)戰(zhàn) 320
6.3.7 “用戶(hù)下單支付超時(shí)”整體功能自測(cè) 326
6.4 總結(jié) 331

分布式鎖實(shí)戰(zhàn) 333
7.1 分布式鎖概述 333
7.1.1 鎖機(jī)制 334
7.1.2 分布式鎖登場(chǎng) 342
7.1.3 典型應(yīng)用場(chǎng)景介紹 344
7.1.4 小結(jié) 347
7.2 基于數(shù)據(jù)庫(kù)實(shí)現(xiàn)分布式鎖 347
7.2.1 樂(lè)觀鎖簡(jiǎn)介 347
7.2.2 樂(lè)觀鎖實(shí)戰(zhàn) 349
7.2.3 JMeter高并發(fā)測(cè)試樂(lè)觀鎖 364
7.2.4 悲觀鎖簡(jiǎn)介 371
7.2.5 悲觀鎖實(shí)戰(zhàn) 372
7.2.6 JMeter高并發(fā)測(cè)試悲觀鎖 376
7.2.7 小結(jié) 377
7.3 基于Redis實(shí)現(xiàn)分布式鎖 378
7.3.1 Redis溫故而知新 378
7.3.2 分布式鎖的實(shí)現(xiàn)流程與原理分析 380
7.3.3 基于Redis實(shí)戰(zhàn)實(shí)現(xiàn)分布式鎖 381
7.3.4 JMeter高并發(fā)測(cè)試 394
7.3.5 小結(jié) 398
7.4 基于ZooKeeper實(shí)現(xiàn)分布式鎖 399
7.4.1 ZooKeeper簡(jiǎn)介與作用 399
7.4.2 分布式鎖的實(shí)現(xiàn)流程與原理分析 401
7.4.3 Spring Boot整合ZooKeeper 403
7.4.4 基于ZooKeeper實(shí)戰(zhàn)實(shí)現(xiàn)分布式鎖 407
7.4.5 JMeter高并發(fā)測(cè)試 410
7.4.6 小結(jié) 412
7.5 典型應(yīng)用場(chǎng)景之書(shū)籍搶購(gòu)模塊設(shè)計(jì)與實(shí)戰(zhàn) 412
7.5.1 整體業(yè)務(wù)流程介紹與分析 412
7.5.2 數(shù)據(jù)表設(shè)計(jì)與用例設(shè)計(jì) 414
7.5.3 書(shū)籍搶購(gòu)核心業(yè)務(wù)邏輯開(kāi)發(fā)實(shí)戰(zhàn) 420
7.5.4 Jmeter重現(xiàn)“庫(kù)存超賣(mài)”的問(wèn)題 426
7.5.5 基于分布式鎖實(shí)戰(zhàn)解決相關(guān)問(wèn)題 427
7.5.6 小結(jié) 433
7.6 總結(jié) 434
綜合中間件Redisson 435
8.1 Redisson概述 436
8.1.1 Redisson簡(jiǎn)介與作用 436
8.1.2 Redisson的功能特性 438
8.1.3 典型應(yīng)用場(chǎng)景介紹之布隆過(guò)濾器與主題 439
8.1.4 典型應(yīng)用場(chǎng)景介紹之延遲隊(duì)列與分布式鎖 444
8.1.5 Spring Boot整合Redisson 447
8.2 Redisson常見(jiàn)功能組件實(shí)戰(zhàn) 453
8.2.1 布隆過(guò)濾器 453
8.2.2 發(fā)布-訂閱式主題 458
8.2.3 數(shù)據(jù)類(lèi)型之映射Map 466
8.2.4 數(shù)據(jù)類(lèi)型之集合Set 473
8.2.5 隊(duì)列Queue實(shí)戰(zhàn) 480
8.2.6 死信隊(duì)列實(shí)戰(zhàn) 486
8.2.7 延遲隊(duì)列實(shí)戰(zhàn) 496
8.3 分布式鎖實(shí)戰(zhàn) 503
8.3.1 重溫分布式鎖 503
8.3.2 分布式鎖之一次性實(shí)戰(zhàn) 505
8.3.3 分布式鎖之可重入實(shí)戰(zhàn) 511
8.4 總結(jié) 518

Redisson典型應(yīng)用場(chǎng)景實(shí)戰(zhàn)之高性能點(diǎn)贊 520
9.1 整體業(yè)務(wù)流程介紹與分析 520
9.1.1 業(yè)務(wù)背景介紹 521
9.1.2 業(yè)務(wù)流程介紹與分析 522
9.1.3 業(yè)務(wù)模塊劃分與數(shù)據(jù)庫(kù)設(shè)計(jì) 525
9.2 “點(diǎn)贊”與“取消點(diǎn)贊”操作模塊實(shí)戰(zhàn) 533
9.2.1 “點(diǎn)贊”與“取消點(diǎn)贊”業(yè)務(wù)流程分析 533
9.2.2 Controller層接收請(qǐng)求信息 536
9.2.3 Service層插入、更新并緩存記錄信息 540
9.2.4 業(yè)務(wù)模塊自測(cè) 552
9.3 “點(diǎn)贊排行榜”業(yè)務(wù)模塊實(shí)戰(zhàn) 554
9.3.1 “點(diǎn)贊排行榜”業(yè)務(wù)流程分析 555
9.3.2 接收前端請(qǐng)求并觸發(fā)緩存點(diǎn)贊排行榜 556
9.3.3 業(yè)務(wù)模塊自測(cè) 560
9.4 總結(jié) 564

總結(jié)與回顧 566

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)