Java項目實戰——深入理解大型互聯網企業通用技術(基礎篇)

廖志偉

  • Java項目實戰——深入理解大型互聯網企業通用技術(基礎篇)-preview-1
  • Java項目實戰——深入理解大型互聯網企業通用技術(基礎篇)-preview-2
  • Java項目實戰——深入理解大型互聯網企業通用技術(基礎篇)-preview-3
Java項目實戰——深入理解大型互聯網企業通用技術(基礎篇)-preview-1

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

相關主題

商品描述

本書的主題圍繞理論實戰展開,旨在為讀者提供一種系統深入地學習和應用通用性較強的技術點的方法。 本書共十章,每章專註於一個特定的技術點,包括 Spring Cloud Alibaba Nacos、Dubbo、ZooKeeper、Spring Cloud Security OAuth2、Spring Cloud Gateway、Spring Cloud Skywalking、Spring Cloud Alibaba Sentinel、Apache ShardingSphere、Elasticsearch + Logstash + Kibana 和 RocketMQ 章節。每章都在深度解析各項技術的核心知識點的基礎上,提供了豐富的示例代碼、詳細的情節描述及圖文結合的教學輔助材料,以幫助讀者更好地理解和應用這些技術點。 本書的目標讀者是那些有一定Java開發經驗的讀者,特別是那些希望深入瞭解這些技術點,並希望通過實踐應用來加強自己的理論知識和項目經驗的開發者。本書的設計經典案例對於工作多年的開發者也十分有參考價值,同時也適合作為培訓機構相關專業的教學參考書。本書以其深度、廣度和實用性的特點,將為讀者提供一個全面系統的學習和應用這些技術點的理想選擇,使讀者能夠更好地掌握和應用這些技術點來解決實際問題。

目錄大綱

目錄

 

 

第1章Spring Cloud Alibaba Nacos1

1.1動態發現/健康檢查/配置管理1

1.2服務治理的技術選型2

1.3分佈式事務CAP理論2

1.4Eureka與Nacos的區別3

1.5底層實現原理4

1.5.1服務註冊與發現4

1.5.2客戶端調用4

1.5.3服務器端集群同步5

1.5.4心跳與健康檢查5

1.5.5配置管理5

1.5.6數據一致性6

1.5.7負載均衡7

1.5.8命名空間7

1.6實戰應用7

1.6.1安裝8

1.6.2配置8

1.6.3使用12

1.6.4版本14

1.6.5Nacosconfig實現配置的動態變更15

第2章Dubbo23

2.1Dubbo的基本概念23

2.2Dubbo與Spring Boot的集成25

2.2.1註解配置方式25

2.2.2XML配置方式26

2.3Dubbo的配置方式27

2.4Dubbo的註冊中心架構和各種註冊中心的特點28

2.4.1使用ZooKeeper作為註冊中心的Dubbo示例29

2.4.2使用Redis作為註冊中心的Dubbo代碼示例30

2.4.3使用Multicast作為註冊中心的Dubbo代碼示例33

2.5Dubbo的調試和監控34

2.6Dubbo的擴展點35

2.6.1Filter擴展點35

2.6.2Cluster擴展點36

2.6.3LoadBalance擴展點36

2.6.4Protocol擴展點37

2.7Dubbo的原理38

2.8Dubbo的性能優化39

2.9Dubbo的序列化協議40

2.10手寫一個Dubbo框架40

2.10.1簡單的Dubbo框架41

2.10.2Dubbo的服務發現43

2.10.3Dubbo 的容錯機制45

2.10.4Dubbo的負載均衡46

2.10.5Dubbo框架的網絡通信50

2.10.6Dubbo框架的序列化、反序列化52

2.10.7高並發環境下Dubbo可能會出現的問題54

第3章ZooKeeper56

3.1ZooKeeper概述56

3.2Docker環境下安裝與配置ZooKeeper58

3.3ZooKeeper特性59

3.3.1集群部署59

3.3.2訪問控制列表60

3.3.3數據副本65

3.3.4選舉機制67

3.3.5客戶端連接池74

3.3.6可擴展性77

3.4ZooKeeper數據模型78

3.5ZooKeeper API79

3.6ZooKeeper應用場景80

3.6.1分佈式任務調度80

3.6.2分佈式鎖83

3.6.3配置管理85

3.7ZooKeeper工作原理89

3.8ZooKeeper的監控和管理89

3.8.1監控管理工具89

3.8.2集群管理93

3.9高並發環境下ZooKeeper可能會出現的問題94

第4章Spring Cloud Security OAuth 295

4.1授權模式95

4.1.1AuthorizationCodeGrant96

4.1.2ImplicitGrant96

4.1.3PasswordGrant(密碼授權模式)97

4.1.4ClientCredentialsGrant(客戶端憑據授權模式)98

4.2底層工作原理99

4.2.1核心概念99

4.2.2組件99

4.2.3底層工作原理100

4.2.4獲取令牌的兩種模式101

4.2.5代碼實現103

4.2.6性能問題和生產問題109

4.3JWT111

4.3.1JWT的組成111

4.3.2JWT密鑰庫113

4.3.3JWT的使用114

第5章Spring Cloud Gateway130

5.1動態路由/限流/負載均衡130

5.2網關產品對比131

5.3路由與更新131

5.3.1靜態路由131

5.3.2動態路由132

5.3.3底層全量更新和底層增量更新135

5.4負載均衡策略139

5.5過濾器143

5.5.1GatewayFilter類143

5.5.2GlobalFilter類145

5.5.3加簽驗簽145

5.5.4過濾器的優缺點155

5.5.5過濾器的優化空間155

5.6限流方式155

5.6.1令牌桶155

5.6.2漏桶156

5.7底層工作原理156

5.8高並發下Spring Cloud Gateway的問題及解決方案157

5.8.1內存消耗157

5.8.2網絡IO163

5.8.3路由性能164

5.8.4服務降級165

5.8.5監控和日誌166

第6章Spring Cloud Skywalking168

6.1分佈式鏈路追蹤的背景和概念168

6.2Docker環境下Skywalking的安裝與配置169

6.2.1拉取Skywalking的鏡像169

6.2.2創建Skywalking容器169

6.2.3訪問Skywalking169

6.2.4配置Skywalking170

6.3分佈式鏈路追蹤實現170

6.4Skywalking架構和組件171

6.4.1探針172

6.4.2Agent174

6.4.3Collector177

6.4.4數據存儲180

6.5數據採集的方式和邏輯181

6.5.1代理方式181

6.5.2無代理方式183

6.5.3數據採集的整個邏輯184

6.6鏈路追蹤數據模型184

6.6.1Trace184

6.6.2Segment186

6.6.3Span187

6.7調用堆棧分析和故障排查188

6.7.1調用堆棧分析188

 6.7.2故障排查188

6.8自定義指標的收集和分析188

6.8.1指標的定義189

6.8.2指標的收集189

6.8.3指標的分析190

6.9靜態配置和動態配置的實現原理191

6.9.1靜態配置191

6.9.2動態配置192

6.10安全性和權限管理192

6.10.1安全性193

6.10.2權限管理193

6.10.3容器化部署和高可用性架構193

6.11網絡通信延時和傳輸損耗的影響196

6.11.1數據不完整197

6.11.2延遲197

6.11.3格式錯誤197

6.12優化方案197

第7章Spring Cloud Alibaba Sentinel199

7.1流控組件對比介紹199

7.2限流/熔斷/降級200

7.2.1熔斷機制200

7.2.2降級機制201

7.2.3限流機制201

7.3動態規則/服務治理202

7.3.1動態規則202

7.3.2服務治理203

7.4流量控制方式203

7.4.1Flow Rule203

7.4.2Degrade Rule204

7.4.3System Rule204

7.4.4Authority Rule205

7.5核心組件205

7.5.1Flow Control206

7.5.2Circuit Breaking206

7.5.3System Protection207

7.5.4Cluster Flow Control207

7.5.5Authority Control208

7.6Sentinel的4種規則208

7.6.1普通規則209

7.6.2限流規則211

7.6.3降級規則213

7.6.4熱點規則214

7.7持久化推送模式216

7.7.1基於ZooKeeper的持久化推送模式217

7.7.2基於Nacos的持久化推送模式221

7.7.3基於Kubernetes的持久化推送模式223

第8章Apache ShardingSphere224

8.1同類產品對比介紹224

8.2分片策略225

8.2.1Inline225

8.2.2Standard227

8.2.3Complex231

8.2.4Hint234

8.3數據脫敏235

8.3.1替換脫敏235

8.3.2加密脫敏236

8.3.3隨機數脫敏236

8.3.4刪除脫敏236

8.4分佈式事務237

8.4.12PC237

8.4.2XA事務238

8.4.3Seata柔性事務239

8.5數據庫讀寫分離239

8.5.1讀寫分離的概念239

8.5.2讀寫分離的實現240

8.5.3通過JDBC層的透明攔截實現241

8.6數據庫主從同步242

8.6.1主從延遲與數據不一致242

8.6.2主從同步配置243

8.7數據庫集群管理244

8.7.1復制原理244

8.7.2主從復制模式245

8.7.3復制鏈路246

8.7.4高可用性247

8.7.5負載均衡247

8.8跨庫分頁248

8.9垂直拆分和水平拆分248

8.9.1垂直拆分248

8.9.2水平拆分249

8.10廣播表和綁定表254

8.10.1廣播表254

8.10.2綁定表254

8.11底層實現原理255

8.11.1底層工作原理255

8.11.2案例分析258

8.11.3優化策略259

第9章Elasticsearch+Logstash+Kibana261

9.1ELK的介紹261

9.1.1產品對比262

9.1.2案例分析262

9.2ELK的安裝與配置263

9.2.1Elasticsearch的安裝與配置263

9.2.2Logstash的安裝與配置265

9.2.3Kibana的安裝與配置266

9.2.4收集項目日誌268

9.3底層實現原理269

9.3.1底層工作原理269

9.3.2性能優化272

第10章RocketMQ274

10.1RocketMQ安裝與配置274

10.2RocketMQ的架構和基本原理280

10.2.1架構280

10.2.2基本原理283

10.3Producer和Consumer模型、發送和接收消息284

10.3.1Producer模型284

10.3.2Consumer模型286

10.3.3發送和接收消息289

10.4消息存儲機制和消息隊列的分佈式特性291

10.4.1存儲機制291

10.4.2分佈式特性294

10.5消息訂閱模式和消費者模式296

10.5.1消息訂閱模式296

10.5.2消費者模式299

10.6消息過濾機制和消息重試機制301

10.6.1消息過濾機制301

10.6.2消息重試機制302

10.7事務消息和順序消息303

10.7.1事務消息303

10.7.2順序消息303

10.7.3代碼示例303

10.8高可用性和容錯性設計305

10.8.1消息數據持久化305

10.8.2主從復制機制307

10.8.3自動容錯和負載均衡308

10.8.4消費者重試機制309

10.9消息軌跡功能310

10.9.1消息軌跡的分類310

10.9.2消息軌跡的使用311

10.9.3消息軌跡的配置311

10.9.4消息軌跡的擴展311

10.9.5代碼示例312

10.10身份驗證和安全機制312

10.10.1身份驗證312

10.10.2安全機制314

10.11性能調優315