在微服務開發中,隨著業務量資料量的提公升,資料庫必定遭遇高併發等風險。這裡我們可以先來看一下如下圖:
這是乙個典型的微服務例項,假設現在有乙個訂單微服務(可以是乙個服務集群),這個服務必定對應乙個業務庫,那就是訂單資料庫,訂單微服務處於一整個服務呼叫的鏈路中,他會被其他微服務來進行呼叫,可以是rest請求也可以是rpc等呼叫。
這個訂單庫是單庫,單庫在高併發的情況下必定出現瓶頸。此時,我們需要進行一定的優化。
根據「二八原則」,80%都是讀請求,甚至更多,20%都是寫請求,甚至更少。所以絕大多數的業務場景之下都是高併發讀。假設我們現在的目的是,要提高併發讀的效能以及高可用讀。那麼這個時候我們可以將單資料庫優化為如下:
從圖中可以看到,使用者的請求並不是全部都到達乙個單庫,而是會被分流,這是乙個非常典型的讀寫分離架構。乙個主庫對應三個從庫,主從之間通過binlog進行資料複製,而且主從的表資料結構完全一致,資料也都一樣。
像這樣的乙個主從架構可以保證高效能讀以及高併發讀,如果讀庫集群再次達到瓶頸則可以繼續進行水平擴充套件。
關注我,不定時更新技術架構、專案管理、企業管理等各種資訊資訊,讓你積累更多有價值的競爭資本~
若有收穫,就點個贊吧
資料庫讀寫分離
隨著乙個 的業務不斷擴充套件,資料不斷增加,資料庫的壓力也會越來越大,對資料庫或者sql的基本優化可能達不到最終的效果,我們可以採用讀寫分離的策略來改變現狀。讀寫分離現在被大量應用於很多大型 這個技術也不足為奇了。ebay就做得非常好。ebay用的是oracle,聽說是用 quest share p...
資料庫讀寫分離
隨著乙個 的業務不斷擴充套件,資料不斷增加,資料庫的壓力也會越來越大,對資料庫或者sql的基本優化可能達不到最終的效果,我們可以採用讀寫分離的策略來改變現狀。讀寫分離現在被大量應用於很多大型 這個技術也不足為奇了。ebay就做得非常好。ebay用的是oracle,聽說是用 quest share p...
資料庫讀寫分離
隨著乙個 的業務不斷擴充套件,資料不斷增加,資料庫的壓力也會越來越大,對資料庫或者sql的基本優化可能達不到最終的效果,我們可以採用讀寫分離的策 略來改變現狀。讀寫分離現在被大量應用於很多大型 這個技術也不足為奇了。ebay就做得非常好。ebay用的是oracle,聽說是用 quest share ...