《看透springmvc源码分析与实践》读书笔记一
解決速度問題的核心是解決海量數據操作問題和高并發問題。
網站復雜的架構就是從這兩個問題演變出來的。
?
海量數據的解決方案:
? 1. 緩存和頁面靜態化
? ? 將從數據庫獲取的數據暫時保存起來,在下次使用的時候無需重新到數據庫中獲取,這樣可以大大降低數據庫的壓力。
? ? 緩存可以通過程序直接保存到內存中(使用Map,尤其是使用ConcurrentHashMap)和使用緩存框架(Ehcache,Memcache,Redis)兩種方式。
?2. 數據庫優化
? ? 解決數據量大的問題,是避不開數據庫優化的。
? ? ①. 表結構優化 ? ?②SQL語句優化 ? ③分區 ? ? ④分表 ? ?⑤索引優化 ? ⑥使用存儲過程代替直接操作等
?3. 分離活躍數據
?4. 批量讀取和延遲修改
?5. 讀寫分離
?6. 分布式數據庫
?7. NoSQL 和 Hadoop
?
高并發的解決方案
? 1. 應用和靜態資源分離
? 2. 頁面緩存
? 3. 集群和分布式
? ? ?集群是每臺服務器都具有相同的功能,處理請求時調用哪臺服務器都可以,主要是起到分流的作用。
? ? ?分布式是將不同的業務放到不同的服務器中,處理一個請求可能需要用到多臺服務器,這樣提高一個請求的處理速度。
? 4. 反向代理
? ? ? 代理服務器是代我們獲取想要的資源,然后將結果返回我們,所要獲取的資源是我們主動告訴代理服務器的。
? ? ? 反向代理服務器是我們正常訪問一臺服務器的時候,服務器自己調用了別的服務器的資源并將結果返回給我們,我們自己并不知道。
? 5. CDN
總結
以上是生活随笔為你收集整理的《看透springmvc源码分析与实践》读书笔记一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式:建造者模式
- 下一篇: 《看透springmvc源码分析与实践》