分布式中間件技術實戰:Java版:Java version 版權信息
- ISBN:9787111641513
- 條形碼:9787111641513 ; 978-7-111-64151-3
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
分布式中間件技術實戰:Java版:Java version 本書特色
《分布式中間件技術實戰(Java版)》站在初學者的角度,介紹了幾款比較流行的分布式中間件,帶領讀者從零開始一步一個腳印地學習Java企業級應用開發。書中在講解必要的理論知識和應用場景后都給出了實際項目案例,可以提高讀者的開發水平和項目實戰能力。
《分布式中間件技術實戰(Java版)》共10章,分為3篇。第1篇開發工具準備,介紹了分布式系統架構的相關知識要點,包括其功能、作用及演進歷程,并由此引出了分布式中間件的相關介紹。第2篇開發實戰,全面介紹了目前在實際開發中應用比較廣泛的幾款Java中間件,包括緩存中間件Redis、消息中間件RabbitMQ、統一協調管理中間件ZooKeeper和綜合中間件Redisson等,重點介紹了這幾款中間件的基本概念、典型應用場景及相應的功能組件等。第3篇總結,對相關內容做了重點回顧與總結。值得一提的是,《分布式中間件技術實戰(Java版)》在介紹幾款中間件的理論知識時,還以Spring Boot微服務框架作為奠基,整合了相關中間件之間的依賴,并結合作者的實際項目經驗進行了代碼實戰。
《分布式中間件技術實戰(Java版)》特別適合中間件實踐經驗為零的開發者閱讀;對于有一定Java應用開發經驗的工程師而言,通過閱讀《分布式中間件技術實戰(Java版)》可以了解中間件在構建企業級應用過程中所提供的思路和解決方案;IT培訓機構的學員,也可以通過《分布式中間件技術實戰(Java版)》系統地學習中間件技術。
分布式中間件技術實戰:Java版:Java version 內容簡介
CSDN博客專家、51CTO學院/CSDN學院/網易云課堂知名講師力作
結合近30個案例及88幅流程圖,全面介紹分布式中間件的原理及應用
容易上手:手把手帶領讀者從零開始逐步學習常用的分布式中間件技術
圖文并茂:結合88幅流程圖進行講解,可以加深讀者對中間件原理的理解
注重實戰:結合大量簡潔、優雅的高質量代碼實例進行開發實踐,提高讀者的開發水平
案例豐富:結合近30個實際項目中的典型業務場景案例進行講解,讓讀者身臨其境
分布式系統架構的演進歷程是怎么樣的?
有哪些常用的典型分布式中間件?其作用又是什么?
Redis的作用及其典型應用場景有哪些?
如何基于微服務項目使用Redis?
如何設計一款可扛住高并發的紅包系統?
RabbitMQ的作用以及有哪些典型的應用場景?
如何基于微服務使用RabbitMQ?
什么是延遲/死信隊列以及有哪些應用場景?
如何基于Spring Boot項目實戰死信隊列?
什么是分布式鎖以及有哪些實現方式?
如何基于微服務項目使用Redisson?
如何基于微服務項目使用ZooKeeper?
如何實現模仿微博高并發量的點贊、評論等常規操作?CSDN博客專家、51CTO學院/CSDN學院/網易云課堂知名講師力作
結合近30個案例及88幅流程圖,全面介紹分布式中間件的原理及應用
容易上手:手把手帶領讀者從零開始逐步學習常用的分布式中間件技術
圖文并茂:結合88幅流程圖進行講解,可以加深讀者對中間件原理的理解
注重實戰:結合大量簡潔、優雅的高質量代碼實例進行開發實踐,提高讀者的開發水平
案例豐富:結合近30個實際項目中的典型業務場景案例進行講解,讓讀者身臨其境
分布式系統架構的演進歷程是怎么樣的?
有哪些常用的典型分布式中間件?其作用又是什么?
Redis的作用及其典型應用場景有哪些?
如何基于微服務項目使用Redis?
如何設計一款可扛住高并發的紅包系統?
RabbitMQ的作用以及有哪些典型的應用場景?
如何基于微服務使用RabbitMQ?
什么是延遲/死信隊列以及有哪些應用場景?
如何基于Spring Boot項目實戰死信隊列?
什么是分布式鎖以及有哪些實現方式?
如何基于微服務項目使用Redisson?
如何基于微服務項目使用ZooKeeper?
如何實現模仿微博高并發量的點贊、評論等常規操作?
如何基于Spring Boot整合中間件實現業務功能?
… …
通過閱讀《分布式中間件技術實戰(Java版)》,你將了解這些問題的確切答案,甚至你都可以舉一反三,自主學習掌握更多的技術進行實現。
超值贈送:
完整的源代碼(需要下載)
相關開發工具(需要下載)
分布式中間件技術實戰:Java版:Java version 目錄
第1篇 開發工具準備
第1章 走進分布式中間件 2
1.1 分布式系統概述 2
1.1.1 白話分布式系統 3
1.1.2 分布式系統發展歷程 3
1.1.3 分布式系統特性 6
1.1.4 分布式系統常見問題 7
1.2 分布式中間件概述 7
1.2.1 白話分布式中間件 7
1.2.2 常見中間件介紹 8
1.3 本書核心知識要點 9
1.4 本書實戰要求與建議 10
第2章 搭建微服務項目 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 搭建規范與搭建流程 13
2.2.1 Spring Boot項目搭建規范 14
2.2.2 Spring Boot項目搭建流程 14
2.2.3 寫個Hello World吧 26
2.3 總結 28
第2篇 開發實戰
第3章 緩存中間件Redis 30
3.1 Redis概述與典型應用場景介紹 30
3.2 Redis的使用 32
3.2.1 快速安裝Redis 32
3.2.2 在Windows環境下使用Redis 34
3.2.3 Spring Boot項目整合Redis 37
3.2.4 Redis自定義注入Bean組件配置 38
3.2.5 RedisTemplate實戰 39
3.2.6 StringRedisTemplate實戰 43
3.3 Redis常見數據結構實戰 45
3.3.1 字符串 45
3.3.2 列表 47
3.3.3 集合 48
3.3.4 有序集合 50
3.3.5 哈希Hash存儲 52
3.3.6 Key失效與判斷是否存在 54
3.4 Redis實戰場景之緩存穿透 56
3.4.1 什么是緩存穿透 57
3.4.2 緩存穿透的解決方案 58
3.4.3 實戰過程 58
3.4.4 其他典型問題介紹 65
3.5 總結 66
第4章 Redis典型應用場景實戰之搶紅包系統 67
4.1 整體業務流程介紹 67
4.1.1 搶紅包系統業務流程 68
4.1.2 業務流程分析 68
4.1.3 業務模塊劃分 70
4.2 數據庫表設計與環境搭建 71
4.2.1 數據庫表設計 71
4.2.2 開發環境搭建 73
4.2.3 開發流程介紹 83
4.3 “紅包金額”隨機生成算法實戰 85
4.3.1 隨機數算法 86
4.3.2 紅包隨機金額生成算法要求 86
4.3.3 二倍均值法簡介 87
4.3.4 紅包隨機金額生成算法實戰 88
4.3.5 紅包隨機金額生成算法自測 90
4.4 “發紅包”模塊實戰 91
4.4.1 業務模塊分析 92
4.4.2 整體流程實戰 93
4.4.3 業務模塊自測 99
4.5 “搶紅包”模塊實戰 101
4.5.1 業務模塊分析 101
4.5.2 整體流程 102
4.5.3 業務模塊自測 105
4.5.4 總結 109
4.6 Jmeter壓力測試高并發搶紅包 110
4.7 問題分析與優化方案 116
4.7.1 問題分析 117
4.7.2 優化方案介紹 118
4.7.3 優化方案之Redis分布式鎖實戰 118
4.7.4 不足之處 122
4.8 總結 122
第5章 消息中間件RabbitMQ 124
5.1 RabbitMQ簡介 124
5.1.1 認識RabbitMQ 125
5.1.2 典型應用場景介紹 126
5.1.3 RabbitMQ后端控制臺介紹 132
5.1.4 基于Spring的事件驅動模型實戰 133
5.2 Spring Boot項目整合RabbitMQ 137
5.2.1 RabbitMQ相關詞匯介紹 138
5.2.2 Spring Boot項目整合RabbitMQ 139
5.2.3 自定義注入配置Bean相關組件 140
5.2.4 RabbitMQ發送、接收消息實戰 142
5.2.5 其他發送接收消息方式實戰 147
5.3 RabbitMQ多種消息模型實戰 152
5.3.1 基于FanoutExchange的消息模型實戰 152
5.3.2 基于DirectExchange的消息模型實戰 160
5.3.3 基于TopicExchange的消息模型實戰 165
5.4 RabbitMQ確認消費機制 171
5.4.1 消息高可用和確認消費 172
5.4.2 常見的確認消費模式介紹 174
5.4.3 基于自動確認消費模式實戰 176
5.4.4 基于手動確認消費模式實戰 182
5.5 典型應用場景實戰之用戶登錄成功寫日志 188
5.5.1 整體業務流程介紹與分析 188
5.5.2 數據庫表設計 189
5.5.3 開發環境搭建 197
5.5.4 基于TopicExchange構建日志消息模型 200
5.5.5 異步發送接收登錄日志消息實戰 201
5.5.6 整體業務模塊自測實戰 205
5.6 總結 208
第6章 死信隊列/延遲隊列實戰 209
6.1 死信隊列概述 209
6.1.1 死信隊列簡介與作用 209
6.1.2 典型應用場景介紹 212
6.2 RabbitMQ死信隊列實戰 213
6.2.1 死信隊列專有詞匯介紹 214
6.2.2 死信隊列消息模型實戰 215
6.2.3 死信隊列延遲發送消息實戰 221
6.3 典型應用場景實戰之商城平臺訂單支付超時 226
6.3.1 整體業務場景介紹 227
6.3.2 整體業務流程分析 228
6.3.3 數據庫設計 229
6.3.4 構建RabbitMQ死信隊列消息模型 236
6.3.5 Controller層開發用戶下單及訂單失效功能 240
6.3.6 “用戶下單支付超時”延遲發送接收實戰 246
6.3.7 “用戶下單支付超時”整體功能自測 250
6.4 總結 254
第7章 分布式鎖實戰 256
7.1 分布式鎖概述 256
7.1.1 鎖機制 257
7.1.2 分布式鎖登場 263
7.1.3 典型應用場景介紹 265
7.1.4 小結 268
7.2 基于數據庫實現分布式鎖 268
7.2.1 樂觀鎖簡介 268
7.2.2 樂觀鎖實戰 269
7.2.3 Jmeter高并發測試樂觀鎖 280
7.2.4 悲觀鎖簡介 286
7.2.5 悲觀鎖實戰 288
7.2.6 Jmeter高并發測試悲觀鎖 290
7.2.7 小結 291
7.3 基于Redis實現分布式鎖 292
7.3.1 Redis溫故而知新 292
7.3.2 分布式鎖的實現流程與原理分析 294
7.3.3 基于Redis實戰實現分布式鎖 295
7.3.4 Jmeter高并發測試 303
7.3.5 小結 307
7.4 基于ZooKeeper實現分布式鎖 308
7.4.1 ZooKeeper簡介與作用 308
7.4.2 分布式鎖的實現流程與原理分析 310
7.4.3 Spring Boot整合ZooKeeper 312
7.4.4 基于ZooKeeper實現分布式鎖 315
7.4.5 Jmeter高并發測試 317
7.4.6 小結 319
7.5 典型應用場景之書籍搶購模塊設計與實戰 319
7.5.1 整體業務流程介紹與分析 319
7.5.2 數據庫表設計與用例設計 321
7.5.3 書籍搶購核心業務邏輯開發實戰 324
7.5.4 Jmeter重現“庫存超賣”的問題 328
7.5.5 采用分布式鎖解決問題 330
7.5.6 小結 334
7.6 總結 334
第8章 綜合中間件Redisson 336
8.1 Redisson概述 336
8.1.1 Redisson簡介與作用 337
8.1.2 Redisson的功能特性 339
8.1.3 典型應用場景之布隆過濾器與主題 340
8.1.4 典型應用場景之延遲隊列與分布式鎖 345
8.1.5 Spring Boot整合Redisson 348
8.2 Redisson常見功能組件實戰 352
8.2.1 布隆過濾器 352
8.2.2 發布-訂閱式主題 355
8.2.3 數據結構之映射Map 361
8.2.4 數據結構之集合Set 366
8.2.5 隊列Queue實戰 370
8.2.6 延遲隊列Delayed Queue實戰1 374
8.2.7 延遲隊列Delayed Queue實戰2 381
8.3 分布式鎖實戰 385
8.3.1 重溫分布式鎖 385
8.3.2 分布式鎖之一次性鎖實戰 387
8.3.3 分布式鎖之可重入鎖實戰 392
8.4 總結 398
第9章 Redisson典型應用場景實戰之高性能點贊 399
9.1 整體業務流程介紹與分析 399
9.1.1 業務背景介紹 400
9.1.2 業務流程介紹與分析 401
9.1.3 業務模塊劃分與數據庫設計 404
9.2 “點贊與取消點贊”操作模塊實戰 409
9.2.1 “點贊與取消點贊”業務流程分析 409
9.2.2 Controller層接收請求信息 412
9.2.3 Service層插入、更新并緩存記錄信息 415
9.2.4 業務模塊自測 421
9.3 “排行榜”業務模塊實戰 424
9.3.1 “排行榜”業務流程分析 425
9.3.2 接收前端請求并觸發緩存排行榜 426
9.3.3 業務模塊自測 428
9.4 總結 432
第3篇 總結
第10章 總結與回顧 434
展開全部
分布式中間件技術實戰:Java版:Java version 相關資料
《分布式中間件技術實戰(Java版)》由淺入深、循序漸進地介紹了當前構建分布式系統架構的主流中間件,并以Java企業級應用開發為出發點,全面介紹了應用系統架構演進的歷程,以及各種典型中間件在這一歷程中所起的作用。除此之外,《分布式中間件技術實戰(Java版)》還以大量的圖文、豐富簡潔的代碼實戰中間件,可以讓讀者能真正做到學以致用。
——廣東橙加科技有限公司開發部經理 神雕大俠
《分布式中間件技術實戰(Java版)》實戰為主,理論為輔,這很符合作者的風格。書中講解的內容很能鍛煉讀者的代碼編寫能力及對業務場景的思考能力。書中提供的大量流程圖和程序代碼可以讓讀者更容易理解中間件每個功能組件的底層執行原理。
——廣東橙加科技有限公司技術總監 Eken
作者阿修羅是一個喜歡將復雜問題簡單化的開發者。特別是對于框架、組件、代碼及業務系統,他更是“習慣性”地熱衷于將這些東西簡單化,并通過大眾化的語言和略帶幽默的風格表達出來。《分布式中間件技術實戰(Java版)》也不例外。
——酷狗科技技術經理 阿汜
通篇閱讀完《分布式中間件技術實戰(Java版)》,發現這是一本頗為值得細讀的書。拋開作者對中間件原理的扎實論述不說,書中給出的大量流程圖更是讓人大呼過癮,這對理解中間件至關重要。可以說,清晰的流程圖是進行代碼實戰的前提,而《分布式中間件技術實戰(Java版)》在這一點上做得很好。
——唯品會信息科技有限公司高級后端開發工程師 淡然
《分布式中間件技術實戰(Java版)》是一本不可多得的能真正將中間件應用到實際項目和業務場景中的書籍。作者站在初學者的角度詳細介紹了比較流行的幾款分布式中間件的相關知識,帶領讀者學習Java企業級應用開發。
——北京搜狗科技發展有限公司資深開發工程師 程誠一
分布式中間件技術實戰:Java版:Java version 作者簡介
鐘林森 網名debug,Java高級后端工程師。目前在國內某互聯網公司擔任開發組長,負責公司Java應用后端開發,并參與公司IT基礎架構體系的研發。CSDN博客專家,發表了大量的原創博客文字,博客訪問量達百萬人次。51CTO學院、CSDN學院及網易云課堂等知名教育平臺講師,教授學員上萬人。追求技術,熱愛分享,相信技術改變生活,技術成就夢想,一直在不斷地學習和積累新知識,秉承修羅之道,花名“阿修羅”。