注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)Java應(yīng)用開發(fā)關(guān)鍵技術(shù)與面試技巧

Java應(yīng)用開發(fā)關(guān)鍵技術(shù)與面試技巧

Java應(yīng)用開發(fā)關(guān)鍵技術(shù)與面試技巧

定 價:¥149.00

作 者: 周冠亞
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302676874 出版時間: 2025-01-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  《Java應(yīng)用開發(fā)關(guān)鍵技術(shù)與面試技巧》全面介紹了現(xiàn)代Java應(yīng)用開發(fā)核心技術(shù)和最佳實踐,旨在幫助讀者掌握企業(yè)級Java應(yīng)用開發(fā)技術(shù)并能夠成功地應(yīng)對名企的面試和挑戰(zhàn)。《Java應(yīng)用開發(fā)關(guān)鍵技術(shù)與面試技巧》共19章,內(nèi)容主要包括Spring框架、MyBatis與ORM、高并發(fā)處理、分布式協(xié)調(diào)服務(wù)、Dubbo框架、緩存技術(shù)、消息隊列、數(shù)據(jù)庫分片、分布式事務(wù)、NoSQL數(shù)據(jù)庫、微服務(wù)架構(gòu)、服務(wù)治理、容錯機制、API網(wǎng)關(guān)。除每章章末提供的核心知識點和面試題外,《Java應(yīng)用開發(fā)關(guān)鍵技術(shù)與面試技巧》還單獨就面試列出一章“面試籌劃”,從簡歷構(gòu)造、面試攻略、面試心態(tài)、面試刷題、面試技巧、面試跟進(jìn)以及面試總結(jié),詳盡地指導(dǎo)讀者了解整個面試過程?!禞ava應(yīng)用開發(fā)關(guān)鍵技術(shù)與面試技巧》不僅覆蓋Java應(yīng)用開發(fā)的核心技術(shù),還結(jié)合豐富的案例分析和面試指導(dǎo),既適合想學(xué)習(xí)Java企業(yè)級開發(fā)的在校學(xué)生和程序員,也適合準(zhǔn)備Java技術(shù)面試的求職者閱讀。

作者簡介

  周冠亞(筆名無雙)上海交大軟件工程碩士,先后就職于大潤發(fā)、美團點評和中國電信等,現(xiàn)就職于移動互聯(lián)網(wǎng)行業(yè)一家知名智能制造公司,對高并發(fā)、高可用、高性能、海量數(shù)據(jù)的分布式復(fù)雜系統(tǒng)的架構(gòu)設(shè)計有豐富經(jīng)驗,先后負(fù)責(zé)過電商、支付、營銷、供應(yīng)、制造等業(yè)務(wù)領(lǐng)域的研發(fā)工作,現(xiàn)階段主要從事企業(yè)架構(gòu)相關(guān)工作。在企業(yè)內(nèi)經(jīng)常參與招聘面試,最高記錄一年面試超400人。出版著作:《Spring 5企業(yè)級開發(fā)實戰(zhàn)》(與人合著)。作者個人技術(shù)星球:【IT職場說】

圖書目錄

第1篇  應(yīng)用框架
第 1 章  Spring 2
1.1  Spring概述 2
1.1.1  Spring是什么 2
1.1.2  Spring的優(yōu)點是什么 3
1.2  IoC 3
1.2.1  軟件設(shè)計的七大原則分別是什么 4
1.2.2  依賴倒置原則與案例分析 5
1.2.3  控制反轉(zhuǎn)與案例分析 6
1.2.4  Spring IoC的配置方式有哪些 11
1.2.5  BeanFactory是什么 18
1.2.6  FactoryBean及其應(yīng)用案例 23
1.2.7  BeanDefinition是什么 34
1.2.8  ApplicationContext是什么 54
1.2.9  Spring IoC的啟動過程是什么 60
1.3  AOP 82
1.3.1  AOP是什么 82
1.3.2  企業(yè)開發(fā)中常用的AOP技術(shù) 83
1.3.3  JDK動態(tài)代理使用案例 84
1.3.4  JDK動態(tài)代理的工作原理 87
1.3.5  CGLib動態(tài)代理使用案例 91
1.3.6  CGLib動態(tài)代理的工作原理 93
1.3.7  Spring AOP使用案例 104
1.3.8  Spring AOP代理方式的選擇 107
1.4  Spring事務(wù)管理 108
1.4.1  事務(wù)的ACID特性 108
1.4.2  事務(wù)并發(fā)執(zhí)行引發(fā)的問題 109
1.4.3  事務(wù)隔離級別及案例分析 109
1.4.4  Spring事務(wù)傳播行為 115
1.4.5  Spring事務(wù)使用案例 116
1.4.6  Spring Boot自動事務(wù)配置 118
1.4.7  Spring事務(wù)管理原理 128
1.5  Spring Web MVC 146
1.5.1  Spring Boot搭建MVC案例 146
1.5.2  Spring MVC的工作原理及關(guān)鍵代碼分析 148
1.6  Spring面試押題 165
1.6.1  Spring IoC的設(shè)計思想是什么 166
1.6.2  BeanFactory和FactoryBean有什么區(qū)別 166
1.6.3  BeanFactory和ApplicationContext有什么區(qū)別 166
1.6.4  Spring Bean的生命周期包含哪些過程 167
1.6.5  Spring Bean的作用域有哪幾種 167
1.6.6  Spring如何解決循環(huán)依賴 168
1.6.7  Spring的自動裝配是如何實現(xiàn)的 168
1.6.8  Spring框架中使用到哪些常用的設(shè)計模式 168
1.6.9  Spring框架中有哪些類型的事件 169
1.6.10  什么是AOP 169
1.6.11  引入AOP能解決什么問題 169
1.6.12  項目中使用AOP的場景 170
1.6.13  AOP中有哪些比較重要的概念 170
1.6.14  什么是JDK動態(tài)代理 170
1.6.15  什么是CGLib動態(tài)代理 171
1.6.16  JDK動態(tài)代理與CGLib動態(tài)代理有什么區(qū)別 171
1.6.17  Spring AOP中有哪些Advice類型 171
1.6.18  動態(tài)代理與靜態(tài)代理的區(qū)別是什么 172
1.6.19  什么是事務(wù),為什么需要事務(wù) 172
1.6.20  事務(wù)有哪些特性 172
1.6.21  MySQL支持哪些事務(wù)隔離級別 173
1.6.22  Spring中有哪些事務(wù)傳播行為 173
1.6.23  Spring事務(wù)在什么場景下會失效 174
1.6.24  Spring事務(wù)管理遇到哪些異常不會回滾 174
1.6.25  什么是Spring MVC 174
1.6.26  Spring MVC的主要組件有哪些 174
1.6.27  DispatcherServlet是什么,它有什么作用 175
1.6.28  Spring MVC中的控制器是不是線程安全的 175
1.6.29  Spring MVC的工作流程 175
1.6.30  Spring MVC與Struts2有哪些異同點 176
第 2 章  MyBatis 177
2.1  MyBatis概述 177
2.2  Spring Boot集成MyBatis案例 178
2.3  使用MyBatis Generator案例分析 181
2.4  MyBatis緩存分為哪幾種 184
2.5  MyBatis一級緩存有哪些特性 185
2.5.1  一級緩存默認(rèn)是開啟的 185
2.5.2  一級緩存可以優(yōu)化查詢效率 185
2.5.3  一級緩存會因修改而失效 186
2.5.4  一級緩存僅在會話內(nèi)共享 188
2.6  MyBatis一級緩存的原理是什么 189
2.6.1  SqlSession分析 190
2.6.2  SqlSessionFactory分析 192
2.6.3  Executor分析 192
2.6.4  Cache分析 193
2.6.5  一級緩存執(zhí)行原理分析 194
2.7  MyBatis二級緩存有哪些特性 200
2.7.1  二級緩存非默認(rèn)開啟 200
2.7.2  在事務(wù)提交前二級緩存不生效 201
2.7.3  在事務(wù)提交后二級緩存會生效 202
2.7.4  當(dāng)發(fā)生更新時二級緩存會被刷新 204
2.8  MyBatis二級緩存的原理是什么 205
2.9  如何編寫MyBatis插件 211
2.9.1  實現(xiàn)Interceptor接口 211
2.9.2  MyBatis插件植入 212
2.9.3  MyBatis插件執(zhí)行邏輯 214
2.10  簡述MyBatis執(zhí)行SQL的過程 215
2.10.1  MyBatis創(chuàng)建代理對象分析 216
2.10.2  MyBatis代理對象邏輯分析 218
2.10.3  SQL語句執(zhí)行過程分析 223
2.11  MyBatis面試押題 227
2.11.1  什么是MyBatis 227
2.11.2  MyBatis有哪些優(yōu)缺點 227
2.11.3  MyBatis框架的適用場景有哪些 227
2.11.4  MyBatis與Hibernate有哪些異同點 228
2.11.5  MyBatis中的#{}和${}的區(qū)別是什么 228
2.11.6  Mapper接口的工作原理是什么 229
2.11.7  MyBatis分頁插件的原理是什么 230
2.11.8  簡述MyBatis緩存的工作原理 231
2.11.9  為什么MyBatis是半自動ORM框架 231
2.11.10  如何提升基于MyBatis開發(fā)的應(yīng)用程序的性能 231
2.11.11  MyBatis如何實現(xiàn)數(shù)據(jù)庫的讀寫分離 232
第2篇  分布式高并發(fā)
第 3 章  高并發(fā)分流 234
3.1  分布式架構(gòu)概念解釋 234
3.2  企業(yè)系統(tǒng)架構(gòu)的演進(jìn)歷程 235
3.2.1  單機架構(gòu) 235
3.2.2  第一次演進(jìn):Web服務(wù)器與數(shù)據(jù)庫獨立部署 236
3.2.3  第二次演進(jìn):引入本地緩存和分布式緩存 237
3.2.4  第三次演進(jìn):引入反向代理 237
3.2.5  第四次演進(jìn):引入數(shù)據(jù)庫讀寫分離 238
3.2.6  第五次演進(jìn):引入按業(yè)務(wù)拆分?jǐn)?shù)據(jù)庫 238
3.2.7  第六次演進(jìn):引入分庫分表 240
3.2.8  第七次演進(jìn):引入使用LVS或F5 240
3.2.9  第八次演進(jìn):通過DNS實現(xiàn)機房間的負(fù)載均衡 241
3.2.10  第九次演進(jìn):引入NoSQL/NewSQL等技術(shù) 242
3.2.11  第十次演進(jìn):應(yīng)用拆分 243
3.2.12  第十一次演進(jìn):引入ESB架構(gòu) 244
3.2.13  第十二次演進(jìn):微服務(wù)拆分 245
3.2.14  第十三次演進(jìn):引入容器化架構(gòu) 246
3.2.15  第十四次演進(jìn):引入云平臺架構(gòu) 247
3.3  Nginx反向代理與負(fù)載均衡 248
3.3.1  正向代理 249
3.3.2  反向代理 249
3.4  Nginx配置詳解 251
3.5  OpenResty 255
3.5.1  OpenResty的安裝 255
3.5.2  OpenResty限流案例 256
3.6  高并發(fā)分流面試押題 258
3.6.1  什么是分布式架構(gòu) 258
3.6.2  什么是面向服務(wù)的架構(gòu) 258
3.6.3  什么是微服務(wù)架構(gòu) 258
3.6.4  SOA架構(gòu)和微服務(wù)架構(gòu)的區(qū)別和聯(lián)系 259
3.6.5  什么是容器化架構(gòu) 259
3.6.6  正向代理與反向代理的區(qū)別是什么 260
3.6.7  微服務(wù)拆分的依據(jù) 260
3.6.8  OpenResty和Nginx的區(qū)別與聯(lián)系 261
3.6.9  如何使用Nginx實現(xiàn)灰度發(fā)布 261
第 4 章  分布式協(xié)調(diào)服務(wù) 263
4.1  ZooKeeper的基礎(chǔ)知識 263
4.1.1  什么是ZooKeeper 263
4.1.2  什么是CAP理論 263
4.1.3  ZooKeeper對CAP的支持 265
4.1.4  ZooKeeper與其他注冊中心對比 265
4.2  ZooKeeper有哪些節(jié)點類型 265
4.3  ZooKeeper節(jié)點有哪幾種角色 266
4.4  什么是ZooKeeper的Watch機制 267
4.5  什么是ZooKeeper ACL權(quán)限控制 268
4.6  Paxos算法的原理是什么 269
4.6.1  分布式系統(tǒng)面臨的挑戰(zhàn) 269
4.6.2  分布式系統(tǒng)難題的轉(zhuǎn)換 270
4.6.3  Paxos算法的執(zhí)行過程 271
4.6.4  Paxos算法示例 273
4.7  基于Paxos的優(yōu)化算法有哪些 275
4.7.1  Multi Paxos算法 275
4.7.2  Fast Paxos算法 275
4.8  ZAB協(xié)議的原理是什么 276
4.8.1  原子廣播 276
4.8.2  故障恢復(fù) 278
4.8.3  ZXID生成規(guī)則 279
4.9  ZooKeeper代碼分析 279
4.9.1  ZooKeeper單機模式代碼分析 281
4.9.2  ZooKeeper集群模式代碼分析 284
4.9.3  ZooKeeper Leader選舉代碼分析 288
4.10  ZooKeeper面試押題 297
4.10.1  什么是ZooKeeper 297
4.10.2  ZooKeeper的節(jié)點類型有哪些 298
4.10.3  ZooKeeper保障的是CP還是AP機制 298
4.10.4  ZooKeeper是如何實現(xiàn)通知機制的 298
4.10.5  ZooKeeper的節(jié)點有哪幾種角色 299
4.10.6  簡述Paxos算法的原理 299
4.10.7  簡述ZAB協(xié)議的原理 299
4.10.8  如何利用ZooKeeper實現(xiàn)分布式鎖 300
4.10.9  ZooKeeper在哪些中間件中被使用 300
4.10.10  ZooKeeper腦裂問題及其處理辦法 301
第 5 章  Dubbo 302
5.1  Dubbo架構(gòu)解析 302
5.1.1  Dubbo組件架構(gòu) 302
5.1.2  Dubbo分層架構(gòu) 303
5.2  Dubbo如何實現(xiàn)集群容錯 304
5.2.1  Failover Cluster 304
5.2.2  Failfast Cluster 304
5.2.3  Failsafe Cluster 304
5.2.4  Failback Cluster 304
5.2.5  Forking Cluster 304
5.2.6  Broadcast Cluster 305
5.2.7  Available Cluster 305
5.2.8  Mergeable Cluster 305
5.2.9  ZoneAware Cluster 305
5.2.10  Dubbo集群容錯代碼分析 305
5.3  Dubbo如何實現(xiàn)負(fù)載均衡 308
5.3.1  加權(quán)隨機策略 308
5.3.2  加權(quán)輪詢策略 308
5.3.3  加權(quán)最少活躍策略 309
5.3.4  加權(quán)最短響應(yīng)策略 309
5.3.5  一致性哈希策略 309
5.4  Dubbo的線程模型是什么 312
5.4.1  IO線程 313
5.4.2  業(yè)務(wù)線程 314
5.5  Dubbo跨多注冊中心的能力 314
5.6  Dubbo服務(wù)分組 319
5.7  Dubbo SPI機制的原理是什么 320
5.7.1  SPI和API的區(qū)別和聯(lián)系 320
5.7.2  JDK SPI機制的實現(xiàn) 320
5.7.3  JDK SPI機制原理分析 322
5.7.4  Dubbo SPI機制的使用方式 327
5.7.5  Dubbo SPI機制原理分析 331
5.8  Dubbo面試押題 336
5.8.1  Dubbo的核心功能有哪些 336
5.8.2  Dubbo的核心組件有哪些 337
5.8.3  簡述Dubbo服務(wù)注冊與發(fā)現(xiàn)的流程 337
5.8.4  簡述主流RPC框架的異同點 338
5.8.5  Dubbo支持哪些負(fù)載均衡策略 338
5.8.6  Dubbo負(fù)載均衡在客戶端還是服務(wù)端實現(xiàn) 338
5.8.7  Dubbo支持的通信協(xié)議 338
5.8.8  簡述Dubbo SPI與Java SPI的異同點 339
5.8.9  Dubbo如何實現(xiàn)服務(wù)提供方失效移除 339
5.8.10  如何合理地設(shè)置Dubbo超時時間 340
第 6 章  Redis 341
6.1  Redis常用的數(shù)據(jù)類型 341
6.1.1  String 341
6.1.2  List 342
6.1.3  Hash 342
6.1.4  Set 343
6.1.5  Zset 343
6.2  Redis支持哪些數(shù)據(jù)結(jié)構(gòu) 343
6.2.1  簡單動態(tài)字符串 344
6.2.2  鏈表 344
6.2.3  跳躍表 345
6.2.4  壓縮列表 345
6.2.5  哈希表 346
6.2.6  整數(shù)集合 348
6.3  Redis如何實現(xiàn)持久化 349
6.3.1  RDB 349
6.3.2  AOF 351
6.4  Redis主從部署架構(gòu)的原理是什么 352
6.5  Redis哨兵部署架構(gòu) 353
6.5.1  Redis哨兵架構(gòu)的工作流程 353
6.5.2  主觀下線 354
6.5.3  客觀下線 354
6.5.4  Redis哨兵仲裁 355
6.5.5  哨兵領(lǐng)導(dǎo)者選舉規(guī)約 355
6.5.6  哨兵領(lǐng)導(dǎo)者選舉過程 356
6.5.7  Redis哨兵架構(gòu)故障轉(zhuǎn)移 356
6.6  Redis集群部署架構(gòu) 357
6.6.1  Redis集群架構(gòu)的工作原理 357
6.6.2  Redis集群架構(gòu)數(shù)據(jù)分片 358
6.6.3  Redis集群架構(gòu)搭建 358
6.6.4  Redis集群架構(gòu)擴容 362
6.6.5  Redis集群架構(gòu)收縮 368
6.6.6  Redis集群架構(gòu)選舉 369
6.7  緩存一致性解決方案有哪些 369
6.7.1  方案一:先更新數(shù)據(jù)庫后更新緩存 369
6.7.2  方案二:先更新緩存后更新數(shù)據(jù)庫 370
6.7.3  方案三:先刪除緩存后更新數(shù)據(jù)庫 370
6.7.4  方案四:先更新數(shù)據(jù)庫后刪除緩存 371
6.7.5  方案五:緩存延時雙刪解決方案 372
6.7.6  方案六:監(jiān)聽數(shù)據(jù)庫解決方案 374
6.8  緩存預(yù)熱方案有哪些 374
6.9  緩存穿透及解決方案 375
6.10  緩存擊穿及解決方案 377
6.11  緩存雪崩及解決方案 377
6.12  布隆過濾器及適用場景 378
6.13  熱點緩存識別及解決方案 380
6.13.1  熱點緩存識別 380
6.13.2  熱點緩存解決方案 380
6.14  Redis面試押題 381
6.14.1  Redis是什么 381
6.14.2  簡述企業(yè)開發(fā)中使用到Redis緩存的場景 381
6.14.3  Redis與Guava Cache有哪些異同點 382
6.14.4  Redis與Memcached相比有哪些異同點 383
6.14.5  Redis為什么能實現(xiàn)高性能 384
6.14.6  Redis支持哪些數(shù)據(jù)類型 384
6.14.7  Redis內(nèi)部的數(shù)據(jù)結(jié)構(gòu)有哪些 384
6.14.8  如何使用Redis實現(xiàn)計數(shù)器 384
6.14.9  如何使用Redis實現(xiàn)消息隊列的發(fā)布訂閱 384
6.14.10  如何使用Redis實現(xiàn)分布式鎖 385
6.14.11  Redis支持的持久化機制有哪些 385
6.14.12  Redis過期鍵的刪除策略有哪些 386
6.14.13  Redis的內(nèi)存淘汰策略有哪些 386
6.14.14  Redis的線程模型是什么 386
6.14.15  Redis事務(wù)有哪些優(yōu)缺點 387
6.14.16  Redis的部署架構(gòu)有哪些 387
6.14.17  什么是緩存穿透 387
6.14.18  什么是緩存擊穿 388
6.14.19  什么是緩存雪崩 388
6.14.20  Jedis與Redisson有哪些異同點 388
第 7 章  RocketMQ 389
7.1  核心概念 389
7.1.1  Producer 389
7.1.2  Consumer 390
7.1.3  Broker 390
7.1.4  Topic 390
7.1.5  Message Queue 391
7.1.6  Tag 391
7.1.7  NameServer 391
7.1.8  集群消費 391
7.1.9  廣播消費 391
7.1.10  分區(qū)順序消息 391
7.1.11  全局順序消息 391
7.1.12  RocketMQ消息模型 392
7.2  RocketMQ如何實現(xiàn)事務(wù)消息 393
7.3  RocketMQ如何實現(xiàn)順序消息 396
7.4  RocketMQ如何實現(xiàn)延遲消息 400
7.5  RocketMQ如何實現(xiàn)消息重試 404
7.5.1  生產(chǎn)者消息重試 404
7.5.2  消費者消息重試 404
7.5.3  消息冪等 405
7.6  RocketMQ如何實現(xiàn)死信消息 405
7.7  RocketMQ如何實現(xiàn)消息過濾 406
7.7.1  基于tag的消息過濾 406
7.7.2  基于SQL表達(dá)式的消息過濾 408
7.7.3  基于消費者端的消息過濾 410
7.8  RocketMQ如何實現(xiàn)消息負(fù)載均衡 410
7.8.1  生產(chǎn)者端負(fù)載均衡 410
7.8.2  消費者端負(fù)載均衡 411
7.9  如何解決消息積壓問題 411
7.9.1  消息積壓的場景 411
7.9.2  消息積壓的解決方案 412
7.10  RocketMQ面試押題 412
7.10.1  企業(yè)開發(fā)中使用MQ的場景有哪些 412
7.10.2  簡述RocketMQ的架構(gòu) 413
7.10.3  RocketMQ如何實現(xiàn)消息過濾 413
7.10.4  如何保障RocketMQ的消息不重不丟 413
7.10.5  RocketMQ如何實現(xiàn)事務(wù)消息 413
7.10.6  什么是RocketMQ的半消息 413
7.10.7  RocketMQ的刷盤機制是什么 414
7.10.8  RocketMQ如何實現(xiàn)負(fù)載均衡 414
7.10.9  什么是RocketMQ的死信隊列 414
7.10.10  什么是消息冪等 414
7.10.11  什么是RocketMQ的推模式和拉模式 415
7.10.12  RocketMQ如何實現(xiàn)順序消息 415
7.10.13  RocketMQ如何實現(xiàn)延遲消息 415
7.10.14  簡述RocketMQ、RabbitMQ和Kafka之間的異同點 415
第 8 章  Kafka 417
8.1  Kafka的核心概念 417
8.1.1  Kafka的基本概念 417
8.1.2  Kafka的核心API 418
8.2  Kafka消息處理原理 419
8.2.1  Kafka架構(gòu)原理 419
8.2.2  Kafka的存儲機制 420
8.2.3  Kafka副本機制 423
8.2.4  Kafka ISR機制 423
8.2.5  Kafka HW&LEO 424
8.3  Kafka有哪些消息語義 425
8.3.1  at most once 425
8.3.2  at least once 425
8.3.3  exactly once 426
8.4  Kafka消息丟失的場景有哪些 426
8.4.1  生產(chǎn)者消息丟失 426
8.4.2  Broker消息丟失 426
8.4.3  消費者消息丟失 427
8.5  Kafka控制器的選舉流程是什么 427
8.6  Kafka分區(qū)副本的選舉策略有哪些 430
8.7  Kafka的協(xié)調(diào)器有哪些 430
8.7.1  消費者協(xié)調(diào)器 431
8.7.2  組協(xié)調(diào)器 431
8.8  Kafka的分區(qū)重平衡機制有哪些 433
8.8.1  RangeAssignor 433
8.8.2  RoundRobinAssignor 434
8.8.3  StickyAssignor 434
8.9  Kafka消費者的提交方式有哪些 434
8.10  Kafka面試押題 435
8.10.1  Kafka是什么 435
8.10.2  Kafka Replicas是如何管理的 435
8.10.3  Kafka中如何確定當(dāng)前應(yīng)該讀取什么消息 436
8.10.4  Kafka生產(chǎn)者發(fā)送消息有哪些模式 437
8.10.5  Kafka如何實現(xiàn)負(fù)載均衡 437
8.10.6  Kafka的Topic分區(qū)數(shù)越多越好嗎 438
8.10.7  如何增強Kafka消費者的消費能力 439
8.10.8  Kafka控制器是什么 439
8.10.9  Kafka為什么高性能 440
8.10.10  Kafka如何使用零拷貝 441
第 9 章  ShardingSphere 442
9.1  ShardingSphere的組成 442
9.1.1  ShardingSphere-JDBC 442
9.1.2  ShardingSphere-Proxy 443
9.1.3  ShardingSphere-Sidecar 443
9.2  核心概念 444
9.2.1  分庫 444
9.2.2  分表 445
9.2.3  垂直分片 445
9.2.4  水平分片 445
9.2.5  表 446
9.2.6  數(shù)據(jù)節(jié)點 447
9.2.7  分片算法 447
9.3  ShardingSphere如何實現(xiàn)分布式主鍵 448
9.4  ShardingSphere支持哪些類型的事務(wù) 449
9.4.1  LOCAL事務(wù) 449
9.4.2  XA事務(wù) 450
9.4.3  BASE事務(wù) 451
9.5  ShardingSphere如何實現(xiàn)讀寫分離 451
9.5.1  主庫和從庫 452
9.5.2  主從同步 452
9.5.3  ShardingSphere讀寫分離支持 452
9.6  ShardingSphere支持哪些數(shù)據(jù)分片算法 452
9.7  ShardingSphere-JDBC的工作原理是什么 453
9.7.1  SQL解析 453
9.7.2  SQL路由 454
9.7.3  SQL改寫 454
9.7.4  SQL執(zhí)行 454
9.7.5  結(jié)果歸并 454
9.8  ShardingSphere面試押題 455
9.8.1  ShardingSphere是什么 455
9.8.2  ShardingSphere支持哪些數(shù)據(jù)庫 455
9.8.3  企業(yè)開發(fā)中哪些場景會用到ShardingSphere 456
9.8.4  ShardingSphere的核心功能有哪些 456
9.8.5  ShardingSphere支持的數(shù)據(jù)分片技術(shù)有哪些 457
9.8.6  數(shù)據(jù)分片技術(shù)有哪些優(yōu)缺點 457
9.8.7  ShardingSphere與Mycat有哪些異同點 458
9.8.8  數(shù)據(jù)分片技術(shù)和分布式數(shù)據(jù)庫之間如何權(quán)衡 459
9.8.9  如何優(yōu)化一張大數(shù)據(jù)量表的查詢速度 459
第 10 章  分布式事務(wù) 461
10.1  什么是強一致性事務(wù) 461
10.2  分布式架構(gòu)理論基礎(chǔ) 462
10.2.1  什么是CAP理論 462
10.2.2  什么是BASE理論 463
10.2.3  什么是2PC 463
10.2.4  什么是3PC 464
10.3  Atomikos分布式事務(wù) 465
10.3.1  TransactionsEssentials 466
10.3.2  ExtremeTransactions 467
10.4  TCC分布式事務(wù) 468
10.4.1  2PC和3PC的缺點 468
10.4.2  TCC的原理 468
10.4.3  TCC的改進(jìn) 469
10.5  Saga分布式事務(wù) 469
10.5.1  Saga編排模式 470
10.5.2  Saga控制模式 471
10.6  Seata分布式事務(wù) 473
10.6.1  AT一階段 474
10.6.2  AT二階段 475
10.6.3  AT寫隔離 475
10.6.4  AT讀隔離 477
10.7  基于MQ的分布式事務(wù) 478
10.7.1  可靠的消息生產(chǎn)和消費 478
10.7.2  非可靠的消息生產(chǎn)和消費 480
10.8  分布式事務(wù)面試押題 481
10.8.1  什么是分布式事務(wù) 481
10.8.2  企業(yè)開發(fā)中產(chǎn)生分布式事務(wù)的場景有哪些 481
10.8.3  強一致性、弱一致性和最終一致性的異同點 482
10.8.4  什么是CAP理論 482
10.8.5  什么是BASE理論 482
10.8.6  分布式事務(wù)常見的解決方案有哪些 483
10.8.7  簡述工作中遇到的分布式事務(wù)場景及挑戰(zhàn) 483
10.8.8  簡述常見的中間件及其面臨的分布式事務(wù)問題 484
第 11 章  MongoDB 485
11.1  MongoDB支持哪些數(shù)據(jù)類型 485
11.2  MongoDB的核心概念 486
11.2.1  數(shù)據(jù)庫 486
11.2.2  集合 486
11.2.3  文檔 487
11.2.4  數(shù)據(jù)字段/域 487
11.2.5  索引 487
11.2.6  主鍵 488
11.3  MongoDB支持的索引類型 488
11.3.1  單鍵索引 488
11.3.2  復(fù)合索引 489
11.3.3  多鍵索引 489
11.3.4  地理空間索引 489
11.3.5  全文索引 489
11.3.6  哈希索引 489
11.4  MongoDB的執(zhí)行計劃 490
11.5  MongoDB的索引原理是什么 494
11.6  MongoDB集群搭建 495
11.6.1  主從復(fù)制架構(gòu) 495
11.6.2  副本集架構(gòu) 496
11.6.3  分片集群架構(gòu) 497
11.7  MongoDB面試押題 498
11.7.1  什么是MongoDB 498
11.7.2  簡述MongoDB與傳統(tǒng)關(guān)系數(shù)據(jù)庫的異同點 499
11.7.3  簡述MongoDB與MySQL數(shù)據(jù)庫中的概念對比 500
11.7.4  簡述MongoDB與CouchBase的異同點 500
11.7.5  MongoDB中的分析器有什么用途 501
11.7.6  MongoDB的主節(jié)點和從節(jié)點如何實現(xiàn)數(shù)據(jù)同步 501
11.7.7  MongoDB的ObjectId生成規(guī)則是什么 502
11.7.8  企業(yè)開發(fā)中使用MongoDB的場景有哪些 502
11.7.9  在MongoDB中如何處理事務(wù) 502
11.7.10  MongoDB的寫關(guān)注是什么 503
第 12 章  Elasticsearch 504
12.1  Elasticsearch的特性有哪些 504
12.2  核心概念 504
12.2.1  索引 504
12.2.2  索引別名 505
12.2.3  類型 506
12.2.4  文檔 506
12.2.5  分詞 506
12.2.6  分詞器 507
12.2.7  keyword 514
12.2.8  text 514
12.3  什么是倒排索引 514
12.3.1  正排索引 515
12.3.2  倒排索引 515
12.3.3  單詞索引 516
12.3.4  FST 517
12.4  Elasticsearch如何實現(xiàn)集群發(fā)現(xiàn) 519
12.5  分片和副本 520
12.5.1  分片 520
12.5.2  副本 520
12.5.3  索引寫入流程 520
12.6  Elasticsearch的存儲原理是什么 521
12.6.1  Segment 521
12.6.2  文檔寫入 522
12.6.3  Refresh 523
12.6.4  Translog 523
12.6.5  Segment合并 525
12.7  Elasticsearch如何實現(xiàn)一致性 526
12.7.1  寫一致性 526
12.7.2  讀一致性 526
12.8  Elasticsearch面試押題 526
12.8.1  什么是Elasticsearch 526
12.8.2  什么是倒排索引 527
12.8.3  Elasticsearch與Solr有哪些異同點 527
12.8.4  Elasticsearch支持的分詞器有哪些 528
12.8.5  Elasticsearch中的keyword和text有什么區(qū)別 529
12.8.6  Elasticsearch中的query和filter有什么區(qū)別 529
12.8.7  簡述Elasticsearch的數(shù)據(jù)寫入流程 530
12.8.8  Elasticsearch的數(shù)據(jù)是如何存儲的 531
12.8.9  Elasticsearch如何保證讀寫一致性 531
12.8.10  簡述Elasticsearch的分布式原理 532
12.8.11  如何使用Elasticsearch解決深分頁問題 533
12.8.12  什么是Elasticsearch Bulk API 534
第3篇  微服務(wù)架構(gòu)
第 13 章  微服務(wù)架構(gòu)演進(jìn) 536
13.1  單體架構(gòu) 536
13.2  垂直架構(gòu) 537
13.3  面向服務(wù)的架構(gòu) 537
13.4  微服務(wù)架構(gòu) 539
13.5  微服務(wù)架構(gòu)演進(jìn)面試押題 540
13.5.1  什么是微服務(wù)架構(gòu) 540
13.5.2  微服務(wù)架構(gòu)常用的RPC框架有哪些 540
13.5.3  微服務(wù)架構(gòu)常用的注冊中心框架有哪些 541
13.5.4  微服務(wù)架構(gòu)常用的負(fù)載均衡框架有哪些 542
13.5.5  微服務(wù)架構(gòu)常用的網(wǎng)關(guān)框架有哪些 543
13.5.6  微服務(wù)架構(gòu)常用的流量管控框架有哪些 543
13.5.7  微服務(wù)架構(gòu)常用的配置中心框架有哪些 544
13.5.8  簡述企業(yè)開發(fā)中的微服務(wù)架構(gòu) 544
第 14 章  Eureka 546
14.1  Eureka的核心概念 546
14.1.1  服務(wù)提供方 546
14.1.2  服務(wù)消費方 546
14.1.3  Eureka Server 546
14.1.4  Eureka Client 546
14.2  Eureka的工作流程是什么 547
14.3  Eureka的集群原理是什么 548
14.4  Eureka面試押題 548
14.4.1  什么是Eureka 548
14.4.2  Eureka中的服務(wù)消費方如何感知服務(wù)提供方 549
14.4.3  Eureka中的服務(wù)消費方如何選擇服務(wù)提供方 549
14.4.4  Eureka中的服務(wù)消費方如何感知服務(wù)提供方下線 550
14.4.5  簡述Eureka、Nacos和ZooKeeper的異同點 550
14.4.6  Eureka保證了CAP中的哪幾點 551
第 15 章  Ribbon 552
15.1  Ribbon的工作原理是什么 552
15.2  Ribbon支持哪些負(fù)載均衡策略 553
15.2.1  RoundRobinRule 553
15.2.2  WeightedResponseTimeRule 554
15.2.3  RandomRule 555
15.2.4  BestAvailableRule 556
15.2.5  RetryRule 557
15.2.6  AvailabilityFilteringRule 558
15.2.7  ZoneAvoidanceRule 559
15.3  Ribbon面試押題 560
15.3.1  什么是Ribbon 560
15.3.2  Ribbon與Nginx有哪些異同點 560
15.3.3  Ribbon支持哪些負(fù)載均衡策略 562
15.3.4  如何實現(xiàn)自定義的Ribbon負(fù)載均衡策略 562
第 16 章  OpenFeign 563
16.1  OpenFeign與Feign有哪些異同點 563
16.2  OpenFeign的架構(gòu)原理 564
16.3  OpenFeign的實現(xiàn)原理是什么 564
16.4  OpenFeign面試押題 567
16.4.1  什么是OpenFeign 567
16.4.2  OpenFeign與Feign有哪些異同點 568
16.4.3  OpenFeign的工作原理是什么 568
16.4.4  OpenFeign與Dubbo有哪些異同點 568
16.4.5  OpenFeign與RestTemplate有什么區(qū)別 569
第 17 章  Hystrix 571
17.1  Hystrix的核心概念 571
17.1.1  限流 571
17.1.2  隔離 571
17.1.3  降級 572
17.1.4  熔斷 572
17.1.5  緩存 572
17.1.6  合并 573
17.2  Hystrix的工作流程是什么 573
17.3  Hystrix面試押題 574
17.3.1  什么是Hystrix 574
17.3.2  Hystrix的工作流程是什么 574
17.3.3  Hystrix如何實現(xiàn)請求緩存 575
17.3.4  Hystrix如何實現(xiàn)限流 575
17.3.5  Hystrix如何實現(xiàn)熔斷 575
17.3.6  什么場景會觸發(fā)Hystrix降級 576
17.3.7  簡述Hystrix、Sentinel和Resilience4j之間的異同點 576
第 18 章  API網(wǎng)關(guān) 578
18.1  API網(wǎng)關(guān)概述 578
18.2  多種API網(wǎng)關(guān)對比 579
18.2.1  Nginx 579
18.2.2  Zuul 579
18.2.3  Kong 580
18.2.4  Gateway 581
18.3  API網(wǎng)關(guān)面試押題 583
18.3.1  什么是API網(wǎng)關(guān) 583
18.3.2  對比常見的API網(wǎng)關(guān) 583
18.3.3  如何在網(wǎng)關(guān)實現(xiàn)用戶統(tǒng)一鑒權(quán) 583
18.3.4  如何在網(wǎng)關(guān)實現(xiàn)灰度發(fā)布 584
第4篇  面試技巧
第 19 章  面試籌劃 586
19.1  簡歷構(gòu)造 586
19.1.1  個人信息 586
19.1.2  個人優(yōu)勢 588
19.1.3  期望職位 588
19.1.4  工作經(jīng)歷 589
19.1.5  項目經(jīng)歷 589
19.1.6  教育經(jīng)歷 590
19.2  面試攻略 591
19.2.1  海投簡歷 591
19.2.2  小試牛刀 591
19.2.3  厚積薄發(fā) 592
19.3  面試心態(tài) 593
19.3.1  候選人分析 593
19.3.2  面試官分析 595
19.4  面試刷題 597
19.4.1  機試刷題 597
19.4.2  現(xiàn)場面試刷題 597
19.5  面試技巧 599
19.5.1  合格性面試 599
19.5.2  合適性面試 599
19.5.3  冰山模型 600
19.5.4  面試方法 601
19.6  面試跟進(jìn) 603
19.7  面試總結(jié) 604
參考文獻(xiàn) 607

本目錄推薦

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