架構發展過程

1. 單應用架構數據庫

  全部的軟件和應用(好比數據庫服務器和應用服務器)都部署在一臺機器上,這個時候講究的是效率跨域

2. 單機負載愈來愈高,數據庫服務器和應用服務器分離緩存

  提升單機的負載能力服務器

3. 應用服務器集羣cookie

  隨着訪問量增長,單臺應用服務器已沒法知足要求,經過集羣將用戶請求分流到各個服務器中session

  隨之出現的問題:架構

  (1)session跨域共享問題:session粘性、session複製、session集中存儲、cookie(主流,access_token(userid/token/timestamp)負載均衡

  (2)請求轉發搜索引擎

4. 數據庫讀寫分離spa

  數據庫服務器的負載愈來愈大,怎麼辦?天然會想到增長數據庫服務器,但若是單純地把數據請求負載均衡到兩臺或多臺數據庫服務器上,會形成數據庫服務器的數據不統一的問題。通常先考慮讀寫分離。

  隨之出現的問題:

  (1)讀寫分離怎麼操做

  (2)數據庫的數據同步

  (3)數據庫路由(mycat)

5. 使用搜索引擎緩解讀庫的壓力

  數據庫的模糊查找每每會引發全表掃描,效率不高。使用搜索引擎能夠大大提升查詢速度

  隨之出現的問題:

  搜索引擎的索引數據怎麼作同步,實時增量同步仍是定時全量同步?

6. 使用緩存機制緩解數據庫的壓力

  對於熱點數據,不必每次都從數據庫讀取

7. 數據庫的水平/垂直拆分

垂直拆分:把數據庫中不一樣業務數據拆分到不一樣的數據庫

水平拆分:把同一個表中的數據拆分到兩個甚至更多的數據庫中,

8. 應用的拆分

  將應用拆分 成一個個子系統,各個系統之間經過RPC技術實現遠程通訊。

相關文章
相關標籤/搜索