基於 Spring Boot 實現:Java 分佈式中間件開發入門與實戰

鐘林森

  • 出版商: 人民郵電
  • 出版日期: 2020-06-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 568
  • 裝訂: 平裝
  • ISBN: 7115535604
  • ISBN-13: 9787115535603
  • 相關分類: JVM 語言

已絕版

  • 基於 Spring Boot 實現:Java 分佈式中間件開發入門與實戰-preview-1
  • 基於 Spring Boot 實現:Java 分佈式中間件開發入門與實戰-preview-2
基於 Spring Boot 實現:Java 分佈式中間件開發入門與實戰-preview-1

買這商品的人也買了...

相關主題

商品描述

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

作者簡介

鍾林森(修羅debug)

曾在阿里遊戲子公司擔任*級後端開發工程師,創辦過fightjava 程序員實戰基地,
長期紮根於一線編碼開發與系統架構設計,現為東英網絡科技有限公司創始合夥人。
此外,作為CSDN博客專家、51CTO學院、CSDN 學院、網易云課堂等教育平台知名講師,
教授學生上萬人,擁有大量原創博客,博客訪問量達百萬人次。
追求技術,熱愛分享,相信技術改變生活,技術成就夢想,
一直在不斷地學習和積累新知識。

目錄大綱

目錄:
走進分佈式中間件 01
1.1 分佈式系統概述 01
1.1.1 分佈式系統定義 02
1.1.2 分佈式系統發展歷程 02
1.1.3 分佈式系統特性 05
1.1.4 分佈式系統常見問題 06
1.2 分佈式中間件概述 06
1.2.1 分佈式中間件簡介 06
1.2.2 常見中間件介紹 07
1.3 本書核心知識要點 08
1.4 本書實戰要求與建議 09

搭建Spring Boot微服務項目 11
2.1 Spring Boot概述 11
2.1.1 什麼是Spring Boot 11
2.1.2 Spring Boot的優勢 12
2.1.3 Spring Boot的特性 13
2.2 搭建規範與搭建流程 14
2.2.1 Spring Boot項目的搭建規範 14
2.2.2 Spring Boot項目的搭建流程 15
2.2.3 寫個“Hello World”吧 30
2.3 總結 33

緩存中間件Redis 34
3.1 Redis概述與典型應用場景介紹 34
3.2 Redis的使用 36
3.2.1 快速安裝Redis 36
3.2.2 在Windows環境使用Redis 38
3.2.3 Spring Boot項目整合Redis 41
3.2.4 Redis自定義注入Bean組件配置 42
3.2.5 RedisTemplate實戰 44
3.2.6 StringRedisTemplate實戰 49
3.3 Redis常見數據類型實戰 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實戰場景之緩存穿透 68
3.4.1 什麼是緩存穿透 68
3.4.2 緩存穿透的解決方案 69
3.4.3 實戰過程 70
3.4.4 其他典型的問題介紹 79
3.5 總結 80

Redis典型應用場景實戰之搶紅包系統 81
4.1 整體業務流程介紹 81
4.1.1 搶紅包系統業務流程 82
4.1.2 業務流程分析 82
4.1.3 業務模塊劃分 84
4.2 數據庫設計與環境搭建 85
4.2.1 數據庫設計 85
4.2.2 開發環境搭建 88
4.2.3 開發流程介紹 103
4.3 “紅包金額”隨機生成算法實戰 107
4.3.1 隨機數算法 108
4.3.2 紅包隨機金額生成算法要求 109
4.3.3 二倍均值法簡介 109
4.3.4 紅包隨機金額生成算法實戰 111
4.3.5 紅包隨機金額生成算法自測 113
4.4 “發紅包”模塊實戰 115
4.4.1 業務模塊分析 115
4.4.2 整體流程實戰 117
4.4.3 業務模塊自測 127
4.5 “搶紅包”模塊實戰 129
4.5.1 業務模塊分析 129
4.5.2 整體流程實戰 130
4.5.3 業務模塊自測 135
4.5.4 小結 139
4.6 JMeter壓測高並發搶紅包 140
4.7 問題分析與優化方案實戰 146
4.7.1 問題分析 147
4.7.2 優化方案介紹 148
4.7.3 優化方案之Redis分佈式鎖實戰 148
4.7.4 不足之處 152
4.8 總結 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的事件驅動模型實戰 164
5.2 Spring Boot項目整合RabbitMQ 169
5.2.1 RabbitMQ相關詞彙介紹 170
5.2.2 Spring Boot項目整合RabbitMQ 171
5.2.3 自定義注入配置Bean相關組件 172
5.2.4 RabbitMQ發送和接收消息實戰 177
5.2.5 其他發送和接收消息方式實戰 184
5.3 RabbitMQ多種消息模型實戰 191
5.3.1 基於FanoutExchange的消息模型實戰 191
5.3.2 基於DirectExchange的消息模型實戰 201
5.3.3 基於TopicExchange的消息模型實戰 209
5.4 RabbitMQ確認消費機制 218
5.4.1 消息高可用和確認消費機制 218
5.4.2 常見確認消費模式介紹 221
5.4.3 基於自動確認消費模式實戰 223
5.4.4 基於手動確認消費模式實戰 232
5.5 典型應用場景實戰之用戶登錄成功寫日誌 240
5.5.1 整體業務流程介紹與分析 241
5.5.2 數據庫設計 242
5.5.3 開發環境搭建 254
5.5.4 基於TopicExchange構建日誌消息模型 259
5.5.5 異步發送和接收登錄日誌消息實戰 261
5.5.6 整體業務模塊自測實戰 267
5.6 總結 270

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

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

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