鳳凰架構-讀后感


鳳凰架構

最近快速的讀了周老師的鳳凰架構開源版本書籍,學習到一些東西,包括數據庫,網絡,計算機基礎等,關於數據庫,着重介紹了事務相關的知識,事務又區分很多不同類型有本地事務、全局事務、共享事務以及分布式事務,事務的核心定義以就是 A (Atomic)原子性、I(Isolation)隔離性、D(Durability)持久性,這三點共同達到C(Consistency)一致性。 一個事務要不完全成功要不就完全失敗,回滾。關於數據庫,現在的高效數據庫是操作和記錄分離的,都是保存了最近的操作到log里,如果這個log在記錄之后斷電或者其他情況,數據庫在恢復的時候會繼續執行剩下的指令或者回退。

特別的,分布式事務一般有CAP特性,一致性(Consistency)、可用性(Availability)以及分區容忍性(Partition Tolerance),這三個在分布式里是不可能三角,無法兼顧所有,目前最常用的redis就是保證了AP(滿足可用性,分區容忍性的系統,通常可能對一致性要求低一些),另外在解決這些分布式事務問題的時候,有一個比較經典的解法就是可靠事件隊列,實際上就是一個while或者for循環一直在嘗試完成某一個事件,完成之后走到下一步,一般地把最容易出錯的事件放到前面,提早暴露問題,這個無限重試直到完成計算機里其實應用的地方很多例如多線程里最常用的那個CAS,就是compare and swap,就是一直嘗試去比較是否相等,不相等就切換,CorrentHashMap就是使用cas和單個元素鎖定去實現的鎖安全。

HTTP 協議的無狀態性決定了它必須依靠客戶端緩存來解決網絡傳輸效率上的缺陷。這個就是我們客戶端緩存的前提,所以我們會存下來cookie等信息,通過解析cookie里面的東西去繼續請求下一步或者其他。
域名解析:DNS 也許是全世界最大、使用最頻繁的信息查詢系統,如果沒有適當的分流機制,DNS 將會成為整個網絡的瓶頸。
內容分發網絡(Content Distribution Network)
CDN 是一種十分古老而又十分透明,沒什么存在感的分流系統,許多人都說聽過它,但真正了解過它的人卻很少。
負載均衡(Load Balancing)
調度后方的多台機器,以統一的接口對外提供服務,承擔此職責的技術組件被稱為“負載均衡”。

后面大多都是節選了,在看文章的時候還發現了很多算法的影子,現在也是理解了為什么應聘會考算法,因為很多經典的算法都是有實際應用的,即使沒有我們工作中不會用到,但是卻可以理解他的思想,遇到類似問題之后去借鑒解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM