探索分散式儲存應用
對於分散式儲存,要實際去使用,瞭解了原理是一方面,基於磁碟分散式儲存,整體規劃、監控、管理是一個挺重要方面。
規劃主要包含初始儲存規模,以及儲存能不能獨立的物理空間存在,與其他線上業務或者服務隔離,因為儲存有可能節點負載很高,在docker模式下,可能會影響服務計算。這個一定要避免影響別人,另外一點也能避免別人服務過於繁忙從而影響自己。獨立儲存對於儲存來說很重要。
在有一點就是擴容縮容,開始規劃肯定儲存空間不大,後續擴容怎麼做,擴容是不是自動化,擴容能擴大到多大,對於使用redis分散式經驗,容量太大會導致業務用這個叢集特別多,會不會出現連線問題,這本身都是需要規劃的。叢集怎麼應用,儲存哪些資料,將來會有多少個業務使用叢集。
儲存規劃還有一點,就是儲存資料分片大小,本身和儲存設計實現相關,也和擴容相關,如果分片特別大,那麼後續節點出問題,增加新的節點去替換可能資料複製時間就是很大問題,節點特別小叢集規模特別大的話,會分片特別多,在有就是實際儲存架構設計,架構設計是單執行緒節點如果特別大,那麼資源利用充分不充分也是需要考慮的方面。
監控與管理叢集本身對於分散式儲存也是重要方面,整個叢集狀態,狀態是否正常,各個分片是否正常,連線是否正常,主從之間連線是否正常,節點是否讀寫過熱,這些都需要完備監控,能夠進行視覺化監控,並能能夠設定相應報警,能夠讓我們對於叢集能夠方面管理控制。
管理叢集除了監控之外,還能對叢集進行管理,管理包含對於叢集監控報警值調整,以及對於叢集分片,主從數量一主一叢變成一主多從等,在有就是對於客戶端配置下發,比如客戶端連線數、流量等通過管理中心進行控制。
分散式系統,不能想象各個部分是正確的,而是應該考慮每個節點可能出現的問題,以及出現問題後怎麼做。整個系統要配置成熟管理以及監控,不然對於整個儲存應用風險很大,因為儲存本身不穩定會影響使用儲存的多個業務,要想用好就需要對分散式有不斷的研究。
分散式系統方方面面設計也會影響我們對於設計與架構理解,深入學習能夠提升架構能力。