關于行程內快取與分布式快取
此文僅只是一個回顧,顧名思義,行程內快取是在與應用程式相同的地址空間內構建的物件快取,Google Guava庫提供了一個簡單的行程內快取API,這是一個很好的例子,

另一方面,分布式快取在應用程式外部,很可能部署在形成大型邏輯快取的多個節點上,Memcached,Redis 都是流行的分布式快取,還有Hazelcast, Terracotta Ehcache是一種可以配置為以任何一種方式運行的產品,
考慮 | 行程內快取 | 分布式快取 | 評論 |
一致性 | 使用行程內快取時,快取元素位于應用程式的單個實體本地,但是,許多中型到大型應用程式將沒有一個應用程式實體,因為它們很可能是負載平衡的,在這種設定下,最終將獲得與應用程式實體一樣多的快取,每個快取具有不同的狀態,從而導致不一致,但是,狀態可能最侄訓隨著快取項超時而保持一致,或者從所有快取實體中逐出, | 分布式快取雖然部署在多個節點的群集上,但提供了快取的單個邏輯視圖(和狀態),在大多數情況下,存盤在分布式快取群集中的物件將駐留在分布式快取群集中的單個節點上,通過散列演算法,快取引擎始終可以確定特定鍵值位于哪個節點上,由于快取集群始終只有一個狀態,因此它永遠不會不一致, | 如果要快取不可變的物件,則一致性不再是問題,在這種情況下,行程內快取是一個更好的選擇,因為通常不存在與外部分布式快取關聯的許多開銷,如果應用程式部署在多個節點上,則快取可變物件,并且希望讀取始終保持一致性而不是最終保持一致性,那么分布式快取是理想之選, |
開銷Overheads | 行程內快取如何主要由于垃圾回收GC開銷而對嵌入式快取的應用程式的性能產生負面影響,但是,結果在很大程度上取決于諸如高速快取的大小以及驅逐和超時物件的速度等因素, | 分布式快取將有兩個主要開銷,這將使其比行程內快取慢(但比根本不快取更好):網路延遲和物件序列化 | 如前所述,如果要在多節點部署中尋找始終一致的全域快取狀態,則要尋找分布式快取(以犧牲本地行程內快取的性能為代價) , |
可靠性Reliability | 行程內高速快取使用與程式相同的堆空間,因此在確定高速快取的記憶體使用上限時必須小心,如果程式記憶體不足,則沒有簡單的方法可以從中恢復, | 分布式快取在多個節點上作為獨立的行程運行,因此單個節點的故障不會導致快取的完全故障,由于節點故障,不再快取的專案將進入下一個快取未命中的幸存節點,同樣在分布式快取的情況下,與完全系統故障相反,完全快取故障的最壞后果應該是降低應用程式的性能, | 對于少量且可預測的頻繁訪問的物件(最好是不可變的物件),行程內快取似乎是一個更好的選擇,對于不可預測的大卷,最好使用分布式快取, |
Summary
對于必須多次讀取的少量可預測物件(最好是不可變物件),行程內快取是一個很好的解決方案,因為它的性能要優于分布式快取,但是,對于可以快取或應該快取的物件數量無法預測且數量龐大,并且必須具有讀取一致性的情況,即使分布式快取可能不會帶來相同的性能優勢,它也可能是更好的解決方案作為行程內快取,應用程式可以根據最適合該方案的情況將兩種方案用于不同型別的物件,
今天先到這兒,希望對云原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 專案管理, 產品管管,團隊建設 有參考作用 , 您可能感興趣的文章:
領匯入怎樣帶領好團隊
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
視頻直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下訊息佇列架構
互聯網高效研發團隊管理演進之一
訊息系統架構設計演進
互聯網電商搜索架構演化之一
企業資訊化與軟體工程的迷思
企業專案化管理介紹
軟體專案成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
專案管理溝通計劃
構建高效的研發與自動化運維
某大型電商云平臺實踐
互聯網資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之采購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變
如有想了解更多軟體設計與架構, 系統IT,企業資訊化, 團隊管理 資訊,請關注我的微信訂閱號:
![MegadotnetMicroMsg_thumb1_thumb1_thu[2] MegadotnetMicroMsg_thumb1_thumb1_thu[2]](https://img.uj5u.com/2021/04/01/232087012149332.jpg)
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文著作權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利,
該文章也同時發布在我的獨立博客中-Petter Liu Blog,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/270930.html
標籤:架構設計
