06 架構伸縮性

2022-09-05 01:45:10 字數 932 閱讀 6199

比如雙11, **的特點,可能是在某一段時間會有大量訪問,過了這段時間,恢復正常。

如果一直保持著「雙11標準」運營,那是浪費,所以,就要考慮**的伸縮性.

業務功能分離 (橫向分離,前台,交易,庫存,產品 等)

單一業務功能,通過集群實現伸縮.

應用伺服器: 通過負載均衡 +集群實現伸縮性。

分布式快取集群的伸縮性設計.

不同於應用伺服器集群的伸縮性設計,分布式快取集群的伸縮性不能使用簡單的負載均衡來實現。因為分布式快取伺服器集群中不同伺服器中快取的資料各不相同,快取訪問請求不可以在快取伺服器集群中的任何一台處理,必須先找到快取有需要資料的伺服器,才能訪問,這個特點嚴重制約著快取伺服器集群的伸縮性設計,因為新上線的快取伺服器沒有任何快取資料,而已下線的快取伺服器還快取著**的許多熱點資料。必須讓新上線的快取伺服器對整個分布式快取集群影響最小,也就是說新加入快取伺服器後應使整個快取伺服器集群中已經快取的資料可能還被訪問到,這是分布式快取集群伸縮性設計的最主要目標。

應用程式通過 memcached 客戶端訪問 memcached 伺服器集群,memcached客戶端主要由一組 api, memcached 伺服器集群路由演算法,memcached 伺服器集群列表及通訊模組組成. 其中路由演算法負責根據應用程式輸入的快取資料 key 計算得到應該將資料寫入到memcached的哪個伺服器(寫快取) 或者應該從哪個伺服器讀資料(讀快取), 所以,在 memcached分布式快取系統中,對於伺服器集群的管理,路由演算法至關重要, 和負載均衡一樣,決定著究竟該訪問集群中的哪台伺服器。

資料儲存伺服器集群的伸縮性設計

先按業務邏輯分庫

分布式資料庫集群. 

系統伸縮性

系統伸縮性,是指在不改變系統軟硬體設計,僅僅通過新增伺服器的情況下,就能提公升系統的處理能力。系統成為大型的,分為2種,一種是開始就設計成大型的,例如12306 設計之初就要考慮能併發處理多少請求,要儲存多少資料。另外一種是從小系統慢慢演化成大型系統的,例如google 一開始只是幾台伺服器,然後隨...

ZooKeeper(八)伸縮性

經過前面的介紹,我想大家都已經知道了在zookeeper集群當中有兩種角色leader和follower。leader可以接受client 請求,也接收其他server 的寫請求,負責更新系統狀態。follower也可以接收client請求,如果是寫請求將 給leader來更新系統狀態,讀請求則由f...

ZooKeeper的伸縮性

經過前面的介紹,我想大家都已經知道了在zookeeper集群當中有兩種角色leader和follower。leader可以接受client 請求,也接收其他server 的寫請求,負責更新系統狀態。follower也可以接收client請求,如果是寫請求將 給leader來更新系統狀態,讀請求則由f...