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

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

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

定 價:¥99.00

作 者: 鐘林森 著
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115535603 出版時間: 2020-06-01 包裝: 平裝
開本: 16開 頁數(shù): 568 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

走進分布式中間件 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)常見問題 06
1.2 分布式中間件概述 06
1.2.1 分布式中間件簡介 06
1.2.2 常見中間件介紹 07
1.3 本書核心知識要點 08
1.4 本書實戰(zhàn)要求與建議 09

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

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

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

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

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

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

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

總結(jié)與回顧 566

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號